2012-09-16 78 views
1

將codeigniter網站重定向到www域的最佳方式是什麼?我想到的唯一方法是使用htaccess進行此操作,但無法確切知道如何操作。這是我現在用來從url中刪除index.php的重寫規則。我應該如何正確添加重定向到www域?將域重定向到codeigniter上的www

RewriteEngine on 
RewriteCond $1 !^(index\.php|images|assets|uploads|robots\.txt|favicon\.png|favicon\.ico) 
RewriteRule ^(.*)$ index.php/$1 [L] 
+0

更新您的DNS記錄 – nullpotent

回答

5

看到這個URL

.htaccess Redirect non-WWW to WWW preserving URI string

或者嘗試

RewriteCond %{HTTP_HOST} . 

RewriteCond %{HTTP_HOST} !^www.mysite.com [NC] 

RewriteRule (.*) http://www.mysite.com/$1 [R=301,L] 

又如

看到這個URL

Codeigniter redirects for a new domain

試試吧

嘗試增加你的的根目錄下面的的.htaccess文件 www.xyz.com網站。

RewriteEngine on 
RewriteBase/

#redirect www.xyz.com/A/B/controller/function 
#www.xyz.com/B/controller/function 
RewriteCond %{HTTP_HOST} ^www\.xyz\.com$ [NC] 
RewriteRule ^A/(B/[\w]+/[\w]+)$ /$1 [L,NC,R=301] 


#redirect www.xyz.com/A/controller/function to 
#www.abc.com/controller/function 
RewriteCond %{HTTP_HOST} ^www\.xyz\.com$ [NC] 
RewriteRule ^A/([\w]+/[\w]+)$ http://www.abc.com/$1 [L,NC,R=301] 
+0

我已經使用了前三行代碼,但我的頁面仍然重定向,如 (mysite.com/about-us)到(www.mysite.com/index.php?/about -我們) –

2

添加另一個條件是:

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

在您的DNS中使用CNAME record

這節省了HTTP請求,所以是最有效的選擇。