重定向问题选择了到不同域的路径

时间:2011-09-20 10:22:29

标签: .htaccess

我在.htaccess文件中有这个规则我想要获得的是重定向所有 请求 secure.x.com/en/account?x=1 x.com/en/account?x=1 以及所有请求< strong> secure.x.com/en/account/xxxx 不应重定向。

Options Indexes FollowSymLinks
RewriteEngine On

RewriteCond %{HTTP_HOST} secure.x.com [NC]
RewriteCond %{REQUEST_URI} !^[a-z-]{2,8}/account [NC]
RewriteRule (.*) http://x.com%{REQUEST_URI} [R=301,L]

RewriteRule !\.(css|gif|htm|html|ico|jpg|js|pdf|php|png|swf|txt|xml)$ index.php

此规则适用于url secure.x.com/en/noaccount =&gt;重定向到x.com/en/noaccount

但不是像请求那样 secure.x.com/en/account

该规则有什么问题?

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。我不知道这是否是最佳解决方案但是有效。

Options Indexes FollowSymLinks
RewriteEngine On

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [S=3]

RewriteCond %{HTTP_HOST} local.secure.x.com [NC]
RewriteCond %{REQUEST_URI} ![a-z]{2,8}/account [NC]
RewriteRule ^(.*)$ http://local.x.com/$1 [R=301,L]

RewriteRule !\.(css|gif|htm|html|ico|jpg|js|pdf|php|png|swf|txt|xml)$ index.php

如果有人有更好的想法让我知道。 TNX。