htaccess重定向除了一个文件

时间:2014-04-29 22:49:56

标签: .htaccess redirect geoip

我正在使用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]

我在另一篇文章中看到了最后一行,但它与我以前完​​全不同(使用。*和所有)...只是想在这里运行它。

感谢您的任何意见!

1 个答案:

答案 0 :(得分:0)

将其更改为:

RewriteCond %{ENV:GEOIP_CONTINENT_CODE} ^EU$ [NC]
RewriteCond %{REQUEST_URI} !^/welcome.html
RewriteRule ^(.*)$ /welcome.html [L,R]

因为之前我有500服务器错误。这对欧盟以外的任何事情都没有问题。欧盟人民现在有一个" Page不能正确重定向" ...

然而,我发现我得到了一个" Page不能正确重定向",因为它仍在重定向。如果我只是制作一个静态页面' welcome.html',那么它就像一个魅力。