1

将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]
4

3 回答 3

5

看到这个网址

.htaccess 将非 WWW 重定向到 WWW 保留 URI 字符串

或者试试

RewriteCond %{HTTP_HOST} .

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

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

另一个例子

看到这个网址

Codeigniter 重定向新域

尝试一下

尝试将以下内容添加到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]
于 2012-09-16T13:43:17.250 回答
3

在您的 DNS 中使用CNAME 记录。

这节省了 HTTP 请求,因此是最有效的选择。

于 2012-09-16T13:46:38.960 回答
2

在此之下添加另一个条件:

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
于 2012-09-16T13:38:44.960 回答