我得到了以下htaccess:
RewriteEngine On
RewriteRule ^([^-]*)-sub-([^-]*)\.html$ /kat-vergleich/?kat=$1&subkat=$2 [L]
RewriteRule ^([^/]*)\.html$ /kat-vergleich/?kat=$1 [L]
只有kat
的第二个工作正常
example.com/kat-vergleich/bla-1
被覆盖
example.com/kat-vergleich/?kat=bla-1
但第一个在哪里
example.com/kat-vergleich/bla-1-sub-morebla
应该改写成
example.com/kat-vergleich/?kat=bla-1&subkat=morebla
但它重写了它
example.com/kat-vergleich/?kat=bla-1-sub-morebla
我也无法获得非覆盖的参数
example.com/kat-vergleich/bla-1?donttouchit=yey
我无法得到yey
echo $_GET['donttouchit']
什么也没有回报。
救命 :/
你的例子部分有效,部分我认为你的例子是错的。因为你在你的第二个规则中匹配.html并说它有效,但它无法工作。
我也看到你在同一时间改变了你的帖子。这让它更加混乱。
但无论如何,如果你添加.html,这似乎对我有用:
RewriteEngine On
RewriteRule ^([^-]*)-sub-([^-]*)\.html$ /kat-vergleich/?kat=$1&subkat=$2 [L]
RewriteRule ^([^/]*)\.html$ /kat-vergleich/?kat=$1&%{QUERY_STRING} [L]
检查以确保破折号 - > - 与文本和URL中的破折号相同。