【发布时间】:2015-07-07 05:13:31
【问题描述】:
我想将重定向与重写结合起来。 重写应该匹配完整路径,但重定向应该只匹配子路径。
网址:http://localhost/mypath/google
预期:重定向到http://www.google.com/
实际:重写为http://stackoverflow.com
RewriteEngine On
RedirectMatch ^/mypath/google/(.*) http://www.google.com/
RewriteRule ^/mypath/(.*)$ http://stackoverflow.com [L,P]
显然 RewriteRule 总是匹配的。是否可以更改规则,以便首先检查 RedirectMatch 规则?
【问题讨论】:
-
正则表达式和目标 URL 周围的引号是什么意思...?
-
感谢您的提示。但报价没有任何区别。不过,为了简单起见,我只是编辑了问题。
-
不确定这两个指令是否真的按照写入的顺序进行评估(毕竟它们是不同模块的一部分)——我建议你只使用 RewriteRules 来做这两件事。跨度>
-
谢谢!这就是解决方案:RewriteRule .... [R]
-
好的,那我补充一下。
标签: apache mod-rewrite