2010-12-16 74 views
1

我有以下的htaccess從www.mysite.com將用戶重定向或http://mysite.comhttp://mysite.com/subfolder的.htaccess重定向到子文件夾的問題

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} !^www.mysite.com$ [OR] 
RewriteCond %{HTTP_HOST} !^mysite.com$ 
RewriteRule ^(.*)$ http://mysite.com/subfolder/$1 [L,R=301] 

它完美,但由於某種原因其重定向到http://www.mysite.com/subfolder/(我需要去除WWW),子文件夾只是一個普通的WordPress安裝,它有默認的.htaccess文件,我嘗試添加以下內容:

# Redirect 
<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{REQUEST_URI} !^/subfolder/ 
RewriteCond %{HTTP_HOST} ^www\. 
RewriteRule (.*) http://mysite.com/subfolder/$1 [R=301,L] 
</IfModule> 

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

</IfModule> 

# END WordPress 

從URL去除WWW,但它給了我一個壞的重定向錯誤,我是這個.htaccess配置真的很新,所以我不知道我做錯了什麼。

任何人都可以幫助我嗎?提前致謝!

回答

1

當然,如果用戶已被重定向,則不應該重定向用戶。

要達到此目的,您需要一個RewriteCond來檢查您是否已經在子文件夾中。

例子:

RewriteCond %{REQUEST_URI} !^/subfolder/ 
+0

您好,我所做的更改,現在它不顯示我的重定向錯誤,但它不會採取關閉WWW網址,我更新後怎麼htaccess的文件看起來像現在。非常感謝! – javiervd 2010-12-16 20:38:43

+0

'RewriteCond'部分用於**其他**'RewriteRule'。把它放在'RewriteRule之前。 /subfolder/index.php [L]' – 2010-12-16 20:46:06

+0

我改變了它,但現在它再次向我顯示重定向錯誤,這很奇怪,因爲如果我從第二個htaccess中刪除所有重定向代碼,並只留下WordPress的東西,它將www添加到地址即使我重定向到http://mysite.com/subfolder .. – javiervd 2010-12-17 02:15:56