当我尝试删除www前缀时出现Yii错误

时间:2014-04-16 10:21:31

标签: .htaccess yii seo

使用.htaccess我成功删除了url中的index.php。 对于良好的SEO实践,我需要删除WWW前缀。组合两个Apache规则会产生错误。

我输入www.site.com,我得到了site.ru - 好的!

我输入www.site.com/catalog,我得到了site.ru - 错误!它的主页。

我输入www.site.com/page/some_page,我得到了site / index.php / some_page - 错误!

(注意:规则'page /'=>'site / page','catalog /'=>'site / catalog /',)


的.htaccess

RewriteEngine on
Options +FollowSymLinks


#redirect from WWW
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^/?(.*) http://%1/$1 [L,R=permanent]


#remove index.php from url
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]

1 个答案:

答案 0 :(得分:1)

尝试,

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

取代

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

希望它会有所帮助。