我想要一个htaccess modrewrite规则将我的整个网站重定向到一个新域但文件夹除外。比如,我的网站是www.mydomain.in,我想重定向它www.mydomain.com但是,如果url是www.domain.com/new_folder那么它不应该重定向,留在这个网站上。
我的htaccess就在这里
RewriteCond %{REQUEST_URI} !^(/users/)$
RewriteCond %{HTTP_HOST} ^mydomain.in$ [OR]
RewriteCond %{HTTP_HOST} ^www.mydomain.in$
rewriterule ^(.*)$ http://mydomain.com/$1 [R=301,L]
这不起作用。如果我输入www.mydomain.in/users/,那么请访问www.mydomain.com/users /
有人可以帮帮我吗?
答案 0 :(得分:3)
这是正确的语法。 尝试并回复我是否有用....
RewriteCond %{HTTP_HOST} ^mydomain.in$ [OR]
RewriteCond %{HTTP_HOST} ^www.mydomain.in$
RewriteCond %{REQUEST_URI} !^/users
rewriterule ^(.*)$ http://mydomain.com/$1 [R=301,L]
答案 1 :(得分:0)
试试这个并告诉我它是否有效:
RewriteCond %{HTTP_HOST} mydomain.in
RewriteCond !^(/users_folder)
RewriteRule (.*) http://mydomain.com/$1 [R=301,L]
如果不起作用请尝试:
RewriteCond %{HTTP_HOST} mydomain.in
RewriteCond !^(users_folder)
RewriteRule (.*) http://mydomain.com/$1 [R=301,L]
请尝试使用RewriteLog
指令:它可以帮助您找出此类问题:
# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On
我可以请你在你的问题中添加重写日志吗?
我最喜欢检查regexp的工具:
http://www.quanetic.com/Regex(别忘了选择ereg(POSIX)而不是preg(PCRE)!)