【发布时间】:2013-11-24 19:56:48
【问题描述】:
我有以下设置
RewriteCond %{REQUEST_URI} ^/search.php$
RewriteCond %{QUERY_STRING} ^what=(.*)&where=(.*)$
RewriteRule ^ /%1/%2? [R=302]
有了这个设置,一切正常
example.com/search.php?what=foo&where=bar
被改写为
example.com/foo/bar
但我还需要再次点击 search.php,所以我添加了
RewriteCond %{REQUEST_URI} ^/search.php$
RewriteCond %{QUERY_STRING} ^what=(.*)&where=(.*)$
RewriteRule ^ /%1/%2? [R=302,C]
RewriteRule ^ /search.php?what=$1&where=$2 [L]
现在它“跳过”重定向和重写
来自 example.com/search.php?what=foo&where=bar 到 example.com/search.php?what=foo&where=bar
重定向不能与 C 标志一起使用吗?
【问题讨论】:
标签: regex apache mod-rewrite rewrite