我正在使用此重写规则来重定向我的搜索请求:
RewriteRule ^search/([^/\.]*)/([^/]+)/?$index.php?search=$1&additional=$2 [L]
这条规则适用于
搜索/搜索/添加
但它给了我一个找不到的页面
search//add
(空搜索)
我做错了什么?正则表达式应该匹配:
最佳答案
是的,您的正则表达式将匹配 search//add
但问题是 mod_rewrite
引擎将 RewriteRule
指令中的多个斜杠剥离为单个斜杠。
您可以使用 RewriteCond
来代替:
RewriteCond %{REQUEST_URI} ^/search/([^/.]*)/([^/]+)/?$ [NC]
RewriteRule ^ index.php?search=%1&additional=%2 [L,QSA]
关于regex - 包含双斜杠的重写规则不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37513946/