网站首页做301跳转

原创
2016/09/12 18:48
阅读数 21

当用户访问我们的网站时,我们希望是无论用户在地址栏中输入的是 domain.com 还是 www.domain.com 最终都能够跳转到 同一个首页,并且地址栏上显示的是www.domain.com. 因此当用户在地址栏中输入 domain.com时,应该重定向到 带有 www 的域名上来。 好!说干就干!于是在一个月黑风高的夜晚,我上到服务器,打开 apache (听说过阵子要切到nginx去了) 的配置文件 httpd.conf,作了以下修改

<VirtualHost *:80>
     ServerName domain.com
	
	RewriteEngine on 
	RewriteCond %{HTTP_HOST} ^domain.com [NC]
	RewriteRule ^(.*)$ http://www.domain.com$1 [R=permanent,L]
</VirtualHost>

<VirtualHost *:80>
    ServerName www.domain.com

    ProxyPass / http://ip:port/ smax=5 max=20 ttl=120 retry=300  
    ProxyPassReverse / http://ip:port/
</VirtualHost>

其中,RewriteCond中最后加 [NC]表示不用区分大小写;RewriteRule中的[R=permanent,L]表示做永久重定向,L = Last ,表示这是最后一条匹配规则,匹配到这里就不继续往下匹配了。

当然了,这里要启用 apache 的 rewrite模块,只要在http.conf文件中将

#LoadModule rewrite_module modules/mod_rewrite.so 

前面的#去掉就好了。 弄完之后,重启apache,一切搞掂!

HTTP服务器迁移到nginx之后,只要在nginx.conf下做对应的修改就可以了,配置如下:

server {

        listen 80;
        server_name  domain.com;
        charset utf-8;
        return 301 http://www.domain.com;
}

将 domain.com 和 www.domain.com 两个域名解析到同一台服务器上去,然后在nginx.conf里面的 主域名 server 块前面加上一个如上的server块配置即可。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部