2013-01-15 64 views
0

我目前在Wordpress中重做我的一個站點。當我測試它時,此安裝目前位於wwww.mydomain.com/wordpress。用Apache .htaccess掙扎重寫規則

在我的主站點的請求進來像這樣: http://www.mydomain.com/index/newsid/16589/some-text-here-that-is-irrelevant

http://www.mydomain.com/.htaccess的的.htaccess目前看起來是這樣的:

Options +FollowSymLinks 
RewriteEngine on 
RewriteBase/
RewriteRule index/newsid/(.*) index.php?newsid=$1 
RewriteEngine On 

我的WordPress的.htaccess目前坐在www.mydomain.com/ WordPress的/ htaccess的是如下

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

# END WordPress 

當我遷移我的網站從其他網站的所有鏈接會打破,我已經在論壇中的其他地方的檔案中納入了所有文章。我需要有效地做兩件事,讓我的.htaccess在我的網站的根目錄上工作,在移動它並將任何newsid請求重定向到別處之後。

基本上我希望把這個: http://www.mydomain.com/index/newsid/16589/some-text-here-that-is-irrelevant

分爲: http://www.mydomain.com/forums/index.php?showtopic=16589

這裏,他們主要的ID是16589它是一個變量,可以改變。

任何幫助,將不勝感激,我可以做簡單的.htaccess文件,但是這超出了我。

回答

0

在將wordpress安裝移動到文檔根目錄後,您需要在之前添加一些規則。你需要做的htaccess文件這樣的事情在你的文檔根:

Options +FollowSymLinks 
RewriteEngine on 

# redirect your newsid 
RewriteRule ^index/newsid/([0-9]+)/ /forums/index.php?showtopic=$1 [L,QSA,R] 

# here are the wordpress rules 

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

# END WordPress 

如果你想301重定向,而不是與[L,QSA,R=301]更換[L,QSA,R]