在codeigniter上将域重定向到www

时间:2012-09-16 13:33:26

标签: php .htaccess codeigniter

将codeigniter网站重定向到www域的最佳方法是什么?我想到的唯一方法是使用htaccess,但无法弄清楚具体如何。这是我正在使用的重写规则,用于从url中删除index.php。我该如何正确地将重定向添加到www域?

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

3 个答案:

答案 0 :(得分:5)

查看此网址

.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]

另一个例子

查看此网址

Codeigniter redirects for a new domain

试一试

尝试将以下内容添加到 www.xyz.com 网站根目录中的 .htaccess 文件中。

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]

答案 1 :(得分:3)

在DNS中使用CNAME record

这样可以保存HTTP请求,因此是最有效的选项。

答案 2 :(得分:2)

在其下添加另一个条件:

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