使用.htaccess配置精确匹配文件夹名的RewriteRule
精确匹配/signup的RewriteRule配置方案
你的问题出在原规则使用了前缀匹配^signup,它会匹配所有以signup开头的路径(比如/signups、/signup/example/whatever)。要实现精确匹配,需要在规则末尾加上路径结束符$,同时可以兼容带斜杠的/signup/请求,修改后的配置如下:
# Turn Rewrite Engine On RewriteEngine on # 精确匹配/signup或/signup/ RewriteRule ^signup/?$ v3.php [NC,L]
规则说明:
^:匹配URL路径的起始位置signup:匹配字面量字符串"signup"/?:?表示前面的斜杠是可选的,同时兼容/signup和/signup/两种访问路径$:匹配URL路径的结束位置,确保路径后面没有多余的字符或子目录[NC,L]:NC表示不区分大小写(比如匹配/SignUp也生效),L表示匹配后停止处理后续Rewrite规则
如果只需要严格匹配不带斜杠的/signup,可以把规则改成:
RewriteRule ^signup$ v3.php [NC,L]
内容的提问来源于stack exchange,提问作者Robin Alexander
相关产品推荐
相关产品推荐

