当前位置: > > > Apache - 让不带www的域名重定向到带www的域名

Apache - 让不带www的域名重定向到带www的域名

网站部署在阿里云服务上,运行环境是 CentOS7 + Apache + PHP + MySQL。默认情况下使用带 3W、或者不带 3W 的域名都是可以访问的(www.hangge.comhangge.com)。
虽然这两个网址都指向同一个网站,但对于搜索引擎来说这是两个网站,也就是说我同一个页面可能会被搜索引擎搜录两次。这个是不利于 SEO 优化的。

下面演示如何利用 Apache 环境的 .htaccess 伪静态 301 跳转,让我们访问不带 www 的网址时会自动跳转到带 www 的网址。

1,设置AllowOverride

(1)使用 vi 命令编辑 httpd.conf 文件
vi /etc/httpd/conf/httpd.conf

(2)将 AllowOverride 改成 All
注意:AllowOverride 在好几个地方都有,不要改错地方了。这里我的网站实际目录是 /var/www/html,那就修改相应节点下的配置。

2,创建.htaccess文件

(1)使用 vi 命令在我们网站的根目录新建一个 .htaccess 文件(如果有就编辑)
vi /var/www/html/.htaccess

(2)在里面添加如下内容:
RewriteEngine on
rewriteCond %{http_host} ^hangge.com [NC]
rewriteRule ^(.*)$ http://www.hangge.com/$1 [L,R=301]

(3)保存后重启 Apache 服务器
systemctl restart httpd.service

3,测试

(1)我们打开浏览器,输入 hangge.com 回车。

(2)发现网站会自动跳转到 www.hangge.com
评论0