Apache环境.htaccess伪静态301跳转(www与不带www)

一般而言,我们使用的301跳转就是WWW与不带WWW域名之间的跳转,用行话说就是权重要归一。对于我们使用Apache环境的来说其实相对nginx比较简单,因为只需要我们在网站根目录有.htaccess文件。

如果我们的网站,比如wordpress根目录有htaccess文件之后,我们只需要在文件内添加下面的代码,就可以实现www与不带www之间的跳转,合理的传递权重。

第一,带www的跳转至不带www域名

RewriteEngine On
RewriteCond %{HTTP_HOST} !^laozuo.org$ [NC]
RewriteRule ^(.*)$ http://laozuo.org/$1 [L,R=301]

第二,不带www的跳转至www域名

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

一般就是用到上述的2个方法,记不住没关系,记录下来,下次要用直接复制过去使用。

===============================================================================

如果是Nginx,所以在设置301重 定向的时候,不是简单的在根目录.htaccess文件添加代码就可以实现,因为他需要对单独的网站conf文件进行修改配置。有些朋友要说了,为什么 wordpress不需要设置,因为程序的特殊性,我们在建立博客的时候选择是带有WWW或者不带WWW的,然后另外一个会自动内部重定向。

如果你是其他程序就需要手工设置。具体方法如下:

第一步,在我们VPS中的 /usr/local/nginx/conf/vhost/下,我们会看到自己网站的域名命名的CONF文件,然后可以VI命令修改,也可以用FTP下载到本地修改再传上去;

server_name www.laozuo.org laozuo.org;
if ($host != 'www.laozuo.org' ) {
rewrite ^/(.*)$ http://www.laozuo.org/$1
permanent;
}
index index.html index.htm index.php default.html default.htm default.php;

以上是修改好的,你对比一下,你缺少的,然后可以补上。因为我怕大家放错地方,所以我把前后代码都复制上来。

第二步,重启 LNMP采用命令如下;

/root/lnmp restart

就这样,你可以通过网址输入不带WWW的域名,是不是直接跳转到带有WWW的。

上一篇:SQL Server获取下一个编码字符串的实现方案分割和进位


下一篇:3种方法来在Linux电脑上查找文件