将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]
答案 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]