2013-05-29 127 views
0

我有一個論壇,一個網站,並在這裏是我的htaccess文件中的當前重寫規則:現在動態301的.htaccess重定向/重寫

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^.*/?forum/?(.*)$ /forum.php [L] 

,因爲我有由谷歌像索引的網址:

www.domain.com/abc/forum/rest-of-url 
www.domain.com/defg/forum/rest-of-url 
www.domain.com/something-else/forum/rest-of-url 

,各個環節都出現在同一個頁面,它應該是唯一的訪問爲:

www.domain.com/forum/rest-of-url 

沒有Ÿ字(ABC,DEFG等)的域間/和/論壇/

基本上這樣的事鏈接:

www.domain.com/abc/forum/rest-of-url 

應該是301重定向:

www.domain.com/forum/rest-of-url 

我試圖改變重寫規則爲:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule /forum/?(.*)$ /forum.php [L] 

但之後我在以前的所有Google Webmaster工具中都收到了很多404錯誤索引的網址,所以我認爲有301重定向的工作,但我還沒有想出如何避免進入循環。

任何幫助表示讚賞。由於

回答

0

啓用mod_rewrite的,並通過httpd.conf的.htaccess,然後把這個代碼在你.htaccessDOCUMENT_ROOT目錄:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

# redirect any /foo/forum/index to /forum/index 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^[^/]+/(forum/[^/]+/?)$ /$1 [L,R=301,NC] 

一旦你驗證它是否工作正常,更換R=302R=301。避免在測試mod_rewrite規則時使用R=301(永久重定向)。

+0

對不起,索引部分是dinamic:www.domain.com/something-else/forum/index可以是www.domain.com/forum/someting-else –

+0

確定編輯,立即嘗試。 – anubhava