Apache-2.2

包含文件夾路徑的重定向 URL

  • December 8, 2011

我有以下重寫規則設置:

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/

第一個建議:使用正確的小寫/大寫:

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)!)

引用自:https://serverfault.com/questions/338815