htaccess mod_rewrite - 覆盖多个参数并读取未覆盖的参数

问题描述 投票:0回答:1

我得到了以下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']什么也没有回报。

救命 :/

php .htaccess mod-rewrite url-rewriting
1个回答
0
投票

你的例子部分有效,部分我认为你的例子是错的。因为你在你的第二个规则中匹配.html并说它有效,但它无法工作。

我也看到你在同一时间改变了你的帖子。这让它更加混乱。

但无论如何,如果你添加.html,这似乎对我有用:

RewriteEngine On
RewriteRule ^([^-]*)-sub-([^-]*)\.html$ /kat-vergleich/?kat=$1&subkat=$2 [L]
RewriteRule ^([^/]*)\.html$ /kat-vergleich/?kat=$1&%{QUERY_STRING} [L]

检查以确保破折号 - > - 与文本和URL中的破折号相同。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.