Apache-2.2

Apache 重寫 - 重定向到 example.com// 而不是 example.com

  • July 8, 2014

當嘗試從以下位置重定向 apache 中的 URL 時:

www.example.com

example.com

它重定向到

example.com//

這是一個單頁網路伺服器,固定 IP 直接進入頁面。

直接在 httpd.conf 上編輯

知道為什麼會這樣嗎?

RewriteEngine On
RewriteCond %{HTTP_HOST}  ^www.example.com [nocase]
RewriteRule ^(.*)         http://example.com/$1 [last,redirect=301]

這是在.htaccess文件中還是在<Directory />塊中?我的猜測是它不是。

在這兩個區域內,URI 路徑與完整的文件系統路徑匹配,並且與目錄匹配的部分(包括斜杠)被刪除。

在這些區域之一之外,URI 路徑以斜杠開頭。因此,您的重定向會添加一個額外的斜杠。

您可以將重寫規則更改為:

RewriteRule ^/(.*)         http://example.com/$1 [last,redirect=301]

或者

RewriteRule ^(.*)         http://example.com$1 [last,redirect=301]

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