该死的你modrewrite
我的网站托管在以下网址:
http://mydomain/mocks/thesite/
现在我想将其移至新域名
我的htaccess看起来像这样:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.thesitesdomain\.com
RewriteRule (.*) http://www.thesitesdomain.com/$1 [R=301,L]
现在,只要/mocks/thesite/
之后出现问题,这样就可以了。例如:http://mydomain/mocks/thesite/index.html
重定向到http://www.thesitesdomain.com/index.php
。
但问题是:
http://mydomain/mocks/thesite/
重定向到http://thesitesdomain.com/mocks/thesite/
。知道为什么吗?如何阻止这个?
.htaccess文件位于/mocks/thesite/
的根目录中(如果有帮助的话)
谢谢
答案 0 :(得分:1)
你应该尝试使用变量REQUEST_URI,你可能会有更多的成功。它应该是请求uri和文件名。到
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.thesitesdomain\.com
RewriteRule .* http://www.thesitesdomain.com/%{REQUEST_URI} [R=301,L]
我不记得了,但也要用查询字符串重定向(获取变量)我认为你需要像这样添加它。
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.thesitesdomain\.com
RewriteRule .* http://www.thesitesdomain.com/%{REQUEST_URI}?%{QUERY_STRING} [R=301,L]
自从真正进行域名重定向以来已经有一段时间......
BTW这是对htacces配置的一个很好的阅读: http://corz.org/serv/tricks/htaccess2.php