是否可以在.htaccess中为同一个URL配置多条RewriteRule规则
关于.htaccess多RewriteRule指向同一目标的问题解答
你给出的配置写法是完全合法可用的,Apache的mod_rewrite模块支持多条不同匹配规则的RewriteRule指向同一个目标URL,你写的三条规则可以分别匹配about、About、ABOUT三种路径请求,全部正常跳转/重写到about/about_me.html页面。
如果你的需求是覆盖所有大小写组合的about路径请求,还有更简洁的实现方案,不用重复写多条规则:
只需要在原有规则上添加NC(No Case,不区分大小写)标志,单条规则就可以适配所有大小写组合的输入:
Options -Indexes DirectorySlash Off RewriteEngine On # NC标志表示匹配路径时不区分大小写,L标志表示匹配成功后不再执行后续规则 RewriteRule ^about$ about/about_me.html [NC,L]
这种写法和你原来写三条规则的效果完全一致,后续维护也更方便。
如果你确实只需要匹配全小写、首字母大写、全大写三种特定的路径,不允许其他大小写组合(比如aBoUt)的请求命中规则,那你原本的多规则写法就是最优选择,没有问题。
内容的提问来源于stack exchange,提问作者Yassin Rakha
相关产品推荐
相关产品推荐

