2011-10-05 39 views
0

我有以下兩個mod_rewrite重定向。他們似乎都做同樣的事情,但我不確定爲什麼一條線比另一條線長。 (我一直在使用較長的一個BTW):mod_rewrite重定向之間的區別?

1:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^example\.com$ 
RewriteRule (.*) http://www.example.com/$1 [R=301,L] 
RewriteRule ^$ shows [L] 

2:

RewriteEngine On 
RewriteRule ^$ /shows [L] 

回答

1

額外的兩行簡單的轉發請求任何頁面在example.com到同一頁在www.example.com,執行301永久重定向(因此R=301...)。

好的做法是不要在兩個域名上有重複的內容(對於搜索引擎優化的目的),所以現在大多數人都轉發example.comwww.example.com;另一種方式也是完全有效的並且相當廣泛地使用(即,重定向www.example.comexample.com)。

+0

啊,這是有道理的。非常感激。現在,只有當我能找到一種方法讓URL在重定向之後只是基本域時,而不是在子節點末尾顯示「shows /」。有什麼建議麼? – stefmikhail

+0

我不確定我是否會遵循,您是否可以舉出兩個網址的示例:您想要重寫的網址和要重寫的網址之一? – Clive

+0

那麼重定向工作正常。指向「http:// www.example.com /」的瀏覽器被重定向到「http:// www.example.com/shows /」。但是我想知道如何讓瀏覽器在重定向後仍然只顯示'http:// www.example.com /'。那可能嗎? – stefmikhail