我正在尝试重定向所有请求,除了那些以某些路径开头的请求。
例如,http://www.example.com/mypath1
不应该重定向http://www.example.com/mypath2
不应该重定向
其他所有应该重定向
到目前为止,香港专业教育学院试图使用这样的异常路径之一使其工作:
RewriteRule ^(?!/mypath1/).*$ http://www.google.com/? [R=301,L]
像这样:
RewriteCond %{REQUEST_URI} !^/mypath1/.* [NC]
RewriteRule ^.*$ http://www.google.com/? [R=301,L]`
像这样:
RewriteCond %{REQUEST_FILE} !^/mypath1/.* [NC]
RewriteRule ^.*$ http://www.google.com/? [R=301,L]
但是,我尝试的一切只是重定向所有请求。
有谁知道如何做到这一点?
最佳答案
我已经设法解决了这个问题,稍后我在apache配置中将我正在发出的请求重定向到错误页面,然后该页面被catch all redirect捕获。
如果其他任何人遇到类似的问题,我建议您使用apache RewriteLog,因为这有助于查明问题。为此,只需将其添加到您的VHOST中:
RewriteEngine on
RewriteLog "C:/devenv/Apache2/logs/rewrite.log"
RewriteLogLevel 2
关于apache - Apache重写所有以某些路径开头的URL除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8714041/