许多用户习惯了从baidu.com 打开百度而不是www.baidu.com 。实际上这两个是完全不同的域名,只是为了访问方便而许多大网站都对不带WWW的域名做了跳转。所实现的技术就叫做301重定向,这样设置一可以让用户的体验更好,同时也对收录有一定的好处,何乐而不为呢?
Linux主机(多数虚拟空间适用)
一般的主机都配有DA面板或CPanel面板,只需要在文件管理器的/public_html/目录下创建.htaccess这个文件。然后添加如下规则:
RewriteEngine on RewriteCond %{http_host} ^域名.net [NC] RewriteRule ^(.*)$http://www.域名.net/$1 [R=301,L]
Windows主机(IIS适用)
Windows主机的IIS服务器,首先需要安装ISAP_Rewrite这个组件,然后在网站目录下创建httpd.ini文件,添加如下规则:
RewriteCond Host: ^域名\.net$ RewriteRule (.*) http\://www\.域名\.net$1 [I,RP]
Linux主机(Nginx环境适用)
目前VPS推荐的架构LNMP,将Apache更换为更高效的Nginx。但唯一坏处在于许多位于.htaccess 的规则都无法使用。通用办法是找到对应网站的conf文件,比如www.mywpku.com.conf,通常在/usr/local/nginx/conf/vhost/ 目录下可以找到用sftp软件编辑此文件:
server { listen 80; ……………………………… if ( $host != 'www.xxxx.com' ) { rewrite ^/(.*)$http://www.xxxx.com/$1 permanent; } …………………… index index.html index.htm index.php; #index end }
只需要添加此部分,并且更改其中的域名:
if ( $host != 'www.xxxx.com' ) { rewrite ^/(.*)$http://www.xxxx.com/$1 permanent; }
很有用收藏了。
这个太重要了,我的网站www.cqchjd.com,就是因为没做301,结果被搜录得一塌糊涂
修改后,提示网页包含太多重定向. 为何?