繁体   English   中英

Apache重写所有URL,除了那些以某些路径开头的URL

[英]Apache rewrite all urls except those beginning with certain paths

我正在尝试重定向所有请求,除了那些以某些路径开头的请求。

例如,

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重定向捕获。

如果其他人遇到类似问题,我建议使用apache RewriteLog,因为这有助于查明问题。 要做到这一点,只需在你的VHOST中添加:

RewriteEngine on
RewriteLog "C:/devenv/Apache2/logs/rewrite.log"  
RewriteLogLevel 2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM