2013-11-05 64 views
1

例如說我的域名是http://www.domain.com,我想重定向到無www的網址(http://domain.com),對於我在.htaccess中使用此代碼的子目錄/子域名不帶www的網址

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

它工作正常http://www.domain.com重定向到http://domain.com

現在我有一個子域名http://www.blog.domain.com(public_html/blog)被重定向到no-www url http://blog.domain.com因爲我使用了這段代碼。

RewriteCond %{HTTP_HOST} !^blog\.domain\.com$ [NC] 
RewriteRule ^(.*)$ http://blog.domain.com$1 [R=301,L] 

但是,然後www也沒有刪除在子域url中。我在這裏做錯了什麼?

更新:我的託管服務提供商HostGator的是

+0

你的第一個規則應該已經足夠了爲子域也。 'www.blog.domain.com'是否使用與'domain.com'相同的DOCUMENT_ROOT?是否爲'www.blog.domain.com'安裝CMS框架? – anubhava

+0

1)是的,www.blog.domain.com使用相同的DOCUMENT_ROOT 2.是的,在public_html/blog中安裝了wordpress CMS –

+0

噢好的WP有這樣'http:// blog.domain.com'應該使用DOCUMENT_ROOT作爲'/ public_html/blog'對嗎? – anubhava

回答

1

第1步:

好像裏面有/public_html/blog也是一個WP的.htaccess。 WP規則之前添加此規則/public_html/blog/.htaccess:

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

第2步:

然後在WP permalink settings改變你的博客地址:

http://blog.domain.com 
+0

在我更改了'wp_options'表中的url('site url'和'home')後,它就起作用了。我從昨天開始使用.htaccess工作...非常感謝。 –

+0

不客氣,很高興它爲你解決。 – anubhava