.htaccess 包含不匹配的双斜线的重写规则

1szpjjfi  于 2023-01-13  发布在  其他
关注(0)|答案(1)|浏览(125)

我正在使用此重写规则来重定向我的搜索请求:
RewriteRule ^search/([^/\.]*)/([^/]+)/?$ index.php?search=$1&additional=$2 [L]
此规则适用于
search/search/add
但是它给了我一个页面没有找到
search//add(空搜索)
我做错了什么?正则表达式应该匹配:

Debuggex Demo

5cnsuln7

5cnsuln71#

是的,您的正则表达式将匹配search//add,但问题是mod_rewrite引擎在RewriteRule指令中将多个斜线剥离为一个。
您可以改用RewriteCond

RewriteCond %{REQUEST_URI} ^/search/([^/.]*)/([^/]+)/?$ [NC]
RewriteRule ^ index.php?search=%1&additional=%2 [L,QSA]

相关问题