重定向 URL 包括文件夹路径

重定向 URL 包括文件夹路径

我有以下重写规则设置:

rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://domain2.com/$1 [r=301,nc]

现在,这可以将 domain.com/index.htm 重定向到 domain2.com/index.htm,但是它不会重定向任何文件夹,例如 domain.com/folder/ 不会重定向到 domain2.com/folder/

答案1

第一条建议:使用正确的大小写:

RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://domain2.com/$1 [R=301,NC,L]

那么也许你忘记了“L”代表“最后的规则”。

当您说“它不会重定向任何文件夹,例如 domain.com/folder/ 不会重定向到 domain2.com/folder/”时,请解释它提供什么、它应该提供什么以及没有重写规则它会提供什么。然后我可以进一步帮助您。

两个提示:


请尝试使用该RewriteLog指令:它可以帮助您追踪此类问题:

# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On

我最喜欢的检查正则表达式的工具:

http://www.quanetic.com/Regex(不要忘记选择 ereg(POSIX)而不是 preg(PCRE)!)

相关内容