htaccess 重定向除了一个文件
Posted
技术标签:
【中文标题】htaccess 重定向除了一个文件【英文标题】:htaccess redirect except one file 【发布时间】:2014-04-29 22:49:56 【问题描述】:我正在使用 GEO_IP 进行重定向,一切正常,但是,我不想将所有内容重新路由到不同的域,而是重定向到同一域上的某个网页。那么问题是我需要过滤掉那个页面,否则它会循环。
所以.. 假设该文件名为“welcome.html”并且位于根文件夹中.. 我想将所有内容重新路由到welcome.html,除非它要去welcome.html。
这有意义吗?
所以而不是:
RewriteCond %ENV:GEOIP_CONTINENT_CODE ^EU$ [NC]
RewriteRule ^ http://www.otherrdomain.com%REQUEST_URI [L,R]
我想确保一个文件是豁免的,它应该转到那个文件.. 下面的工作吗?
RewriteCond %ENV:GEOIP_CONTINENT_CODE ^EU$ !^/welcome.html [NC]
RewriteRule ^(.*)$ /welcome.html [L,R]
我在另一篇文章中看到了最后一行,但它与我之前的完全不同(带有 .* 和所有)......只是想在这里运行它..
感谢您的任何意见!
【问题讨论】:
当你尝试时会发生什么? @Howlin 我收到 500 服务器错误。看起来 GeoIP 不喜欢这种说法…… 【参考方案1】:改成:
RewriteCond %ENV:GEOIP_CONTINENT_CODE ^EU$ [NC]
RewriteCond %REQUEST_URI !^/welcome.html
RewriteRule ^(.*)$ /welcome.html [L,R]
因为我之前遇到过 500 服务器错误。这对欧盟以外的任何东西都没有问题。欧盟人现在有“页面未正确重定向”...
但是,我发现我收到“页面未正确重定向”,因为它仍在重定向。如果我只是简单地制作了一个静态页面“welcome.html”,那么它就像一个魅力。
【讨论】:
以上是关于htaccess 重定向除了一个文件的主要内容,如果未能解决你的问题,请参考以下文章
.htaccess 重定向所有页面,除了少数页面重定向到特定页面
将大写 URL 重定向到小写,除了 *** - htaccess