如何在Htaccess中强制重定向到www或非www

时间:2019-05-19 01:26:06  来源:igfitidea点击:

为了搜索引擎优化的目的,这是一个很好的做法,保持你的网站url与www或没有www。
在本教程中,我们将学习如何强制重定向到www或非www URL。
301状态码告诉搜索引擎页面已经永久移动到一个新的位置。

强制重定向到WWW或非WWW

转到网站的站点根目录
现在创建一个.htaccess文件使用以下内容之一

强制非www到www

这会强制URL为www.example.com,这会在URL中添加www不管你访问的是没有www。

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

强制www到非www

这将强制URL为example.com,这将总是从URL中删除www,你可以使用或不使用www访问它。

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

使.htaccess工作

在使用.htaccess之前,确保在Apache中启用了.htaccess。
要启用此功能,请在域虚拟主机下添加以下设置。

<VirtualHost *:80>

    [...]
    <Directory "/home/user/public_html">
         Allowoverride all
    </Directory>
    [...]

</VirtualHost>

启用Apache重写模块

还要确保Apache模块是启用的。
使用以下命令启用模块。

sudo a2enmode rewrite