如何在 nginx 服务器上做 301 重定向?

2014-09-03 09:57:09 +08:00
 yinznet
是在DNS服务商后台上设置CNAME比较好还是在nginx的配置文件上设置重定向好?
3885 次点击
所在节点    问与答
8 条回复
roychan
2014-09-03 10:07:04 +08:00
nginx.conf
Tink
2014-09-03 10:09:51 +08:00
rewrite
arcas
2014-09-03 10:17:00 +08:00
先搞清楚301重定向和cname的含义。根据需求选择哪种方式合适。。

301: 将一个地址永久的重定向到指定的地址。
cname: 别名记录。这种记录允许您将多个名字映射到同一台计算机。 通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为“host.mydomain.com”(A记录)。 它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个别名(CNAME):WWW和MAIL。 这两个别名的全称就是www.mydomain.com和“mail.mydomain.com”。实际上他们都指向“host.mydomain.com”。(摘自 BD百科)
bigtan
2014-09-03 10:25:48 +08:00
http://www.changbizi.net/archives/542.html
正好的我在博客上面mark了一下的
yinznet
2014-09-03 10:47:59 +08:00
nginx配置像这样写?

server
{
isten 80;
server_name old.com;
rewrite ^/(.*)$ http://new.com/$1 permanent;
access_log off;
}
2232588429
2014-09-03 11:25:55 +08:00
@arcas 你好,能否帮我看看我这个conf文件配置的有没有问题?谢谢!
server {
listen 80;
#ipv6
#listen [::]:80 default_server;
root /var/www/hyyy.tk;
#.......
index index.php index.html index.htm;
#....
server_name hyyy.tk;
location / {
try_files / /index.html;
#
include dz.conf;
}
#......
#error_page 404 /404.html;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
alsotang
2014-09-03 14:41:10 +08:00
用 return
不要用 rewrite。
shiniv
2014-09-03 14:59:07 +08:00
server{
listen 80;
server_name a.me;

return 301 $scheme://www.a.me$request_uri;
}

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/131437

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX