主页 » 建站笔记 » 正文

Nginx服务器如何做301跳转

 bandian2015/03/16 16:09 4,930 ℃ 1条点评
小号字体中号字体大号字体
前段时间把网站从虚拟空间搬到了云服务器,话说换空间真是个麻烦事儿,首先域名备案的麻烦就够我喝好几壶的了,然后就是网站数据,所幸小站初建,数据不多,...

前段时间把网站从虚拟空间搬到了云服务器,话说换空间真是个麻烦事儿,首先域名备案的麻烦就够我喝好几壶的了,然后就是网站数据,所幸小站初建,数据不多,虽然也费了番周折,但导出导入也还算顺利。值得一提的是由于之前的空间是win主机IIS环境,现在的服务器是nginx环境,所以之前的伪静态配置文件对现在的服务器不适用了。

测试之后发现,我所安装的服务器环境一件包已经包含了Wordpress的伪静态配置文件,不需要怎么设置就可以很好的支持后台的固定链接的各种格式,唯一的问题就是301跳转需要自己添加。然后结合百度总结了一下:就我目前所知道的nginx伪静态设置有两种情况:
一种就是网站的伪静态文件是通过在nginx的配置文件里面调用的,以我自己的为例,nginx的配置文件里面是这样写的:

server {
listen 80;
server_name  localhost;
index index.html index.htm index.php;
root /alidata/www/Augsky;
location ~ .*\.(php|php5)?$
{
#fastcgi_pass  unix:/tmp/php-cgi.sock;
fastcgi_pass  127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 1h;
}
#伪静态规则
include /alidata/server/nginx/conf/rewrite/wordpress.conf;
access_log  /alidata/log/nginx/access/wordpress.log;
}

可以看到上面末尾处伪静态规则调用的是
include /alidata/server/nginx/conf/rewrite/wordpress.conf
这个文件,那么我的伪静态规则就要写到这个文件里面。打开wordpress.conf文件之后在最下面加上这段即可:
if ($host != 'www.augsky.com')
{
rewrite ^/(.*)$ https://www.augsky.com/$1 permanent;
}
意思是如果访问的域名不是www.augsky.com的话就跳转到www.augsky.com上面来。permanent是301永久跳转的意思。
还有一种写法是:
if ($host = 'augsky.com' )
{
rewrite ^/(.*)$ https://www.augsky.com/$1 permanent;
}
这句其实跟上面的没有太大的区别,是说如果域名是augsky.com的话就跳转到www.augsky.com上面,同样也是301永久跳转。

另外一种情况就是伪静态规则直接写在nginx的配置文件里,写法如下:
server {
server_name augsky.com;
rewrite ^/(.*) https://www.augsky.com/$1 permanent;
}
上述的修改都完成之后将文件保存,回到系统指令界面输入指令重新载入nginx就好了:
nginx -s reload
然后我们可以用工具来检测刚才的设置生效没有,使用站长工具的http状态查询或者在百度应用里面搜索“301检测工具”来进行检测都是可以的,如果返回状态码是301那就大功告成了。

上一篇:SQL2000数据库sa账号忘记密码的解决办法
下一篇:使用火狐扩展轻松下载土豆优酷等网站上的在线视频
版权信息
永久链接:https://www.augsky.com/?p=172
转载请注明转自 » 格部落格 » Nginx服务器如何做301跳转

已有1条评论,欢迎点评!

  1. avatar#1Anonymous

    It’s actually a great and useful piece of information. I am happy that you just shared this useful information with us. Please stay us up to date like this. Thank you for sharing.

    2014-02-18 am10:10回复