1.先说本人测试通过的方法,也是来自官方文档的方法。官方文档:/en/docs/http/converting_rewrite_rules.html
本人网站测试地址:uuid.online(因CSDN原因,链接地址只能填www.uuid.online,测试时先跳转到这个地址,再删除www测试)
直接上本人的配置文件。
server {listen 80;server_name uuid.online;return 301 http://www.uuid.online$request_uri;}server {listen 80;server_name www.uuid.online;...}
2.目前网络上搜索出来的方法如下
a.
server {listen 80;server_name www.uuid.online uuid.online;if ($http_host =uuid.online) {rewrite (.*) http://www.uuid.online$1;}...}
不推荐用这种方法,不是我不推荐,是nginx官方不推荐啊!!!原话如下:This is a wrong, cumbersome, and ineffective way.翻译过来就是:这是一种错误的,难处理的,无效的方法。
官方原文链接地址:/en/docs/http/converting_rewrite_rules.html
b.该方法未测试,不评价。
如下:在ngxin域名的配置文件vhost/.conf(具体视你域名配置文件) 编辑如下:
.....
......
server
{
........
;//只留一个
......
}
文件的底部添加如下代码块(独立于上面的代码外):
server {
server_name ;
rewrite ^(.*)$$1permanent;
}
另外补充说明一点:
301永久跳转,当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息中的状态码的一种,表示本网页永久性转移到另一个地址。 302临时跳转,也是状态码的一种,意义是暂时转向到另外一个网址。 二者的区别主要是,一句话,302容易被搜索引擎视为spam,301则不会。 permanent代表301永久跳转,改为redirect则为302临时跳转。