2

我已經閱讀了各種參考網站的重定向,說實話我很少理解。如何做到這一點301從index.htm重定向到根?

我現在有標準的WordPress的mod_rewrite重定向規則,在我的.htaccess:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

不少我引薦去舊的URL http://www.example.com/index.htm,這給了他們一個錯誤,我希望他們能夠無縫重定向到http://www.example.com/。我相信301重定向是最好的方法。

我需要做什麼?

回答

3
RewriteEngine On 
RewriteCond %{THE_REQUEST} /index\.html? [NC] 
RewriteRule ^(.*/)?index\.html?$ /$1 [R=301,L] 

這將轉化的index.html或index.htm只是該目錄的所有事件,遞歸。

+0

當你說「遞歸」,你的意思是,這將在站點內的所有子目錄的工作,我承擔? – e100 2010-03-19 13:59:41

+1

是的,確切地說。對於所有子目錄。 – windyjonas 2010-03-19 15:19:45

+0

這很好,非常感謝。只要注意到我意識到我需要在現有的Wordpress之前加入這條規則。 – e100 2010-03-20 14:04:55

0

我不是100%肯定,但我想這應該是RewriteRule ^index.htm$/[R=301]或類似這樣

-2

創建一個index.html,包含代碼:

<HTML> 
<HEAD> 
<META HTTP-EQUIV="refresh" CONTENT="seconds;URL=the-other-url"> 
</HEAD> 
<BODY> 
You will be redirected... 
</BODY> 
</HTML> 

其中「秒」是延遲(秒)的重定向之前的持續時間。爲即時重定向設置一個「0」。

「的,其他的URL」是http://www.example.com/index.php

+0

這不是301重定向,取決於客戶端,通常被認爲是不好的做法。 – e100 2010-04-14 09:33:53