htaccess mod_rewrite - 覆盖多个参数并读取未覆盖的参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了htaccess mod_rewrite - 覆盖多个参数并读取未覆盖的参数相关的知识,希望对你有一定的参考价值。
我得到了以下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中的破折号相同。
以上是关于htaccess mod_rewrite - 覆盖多个参数并读取未覆盖的参数的主要内容,如果未能解决你的问题,请参考以下文章
子域 mod_rewrite (htaccess) 到相对目录
将 .htaccess 转换为 nginx (mod_rewrite)
没有 mod_rewrite 的漂亮 URL,没有 .htaccess