Nginx 301重定向设置二种方法

进行了301重定向,把www.sunrisenan.com和sunrisenan.com合并,并把之前的域名也一并合并.

有两种实现方法,第一种方法是判断nginx核心变量host(老版本是http_host):

第一种方法:

server {

server_name www.sunrisenan.com sunrisenan.com;

if ($host != ‘www.sunrisenan.com‘ ) {

rewrite ^/(.*)$ http://www.sunrisenan.com/$1 permanent;

}

...

}

第二种方法:

server {

if ($host = ‘sunrisenan.com‘){

rewrite ^/(.*)$ http://www.sunrisenan.com/$1 permanent;

}

}

这两种方法中, permanent是关键,详细说明见nginx重定向规则说明。

  • last – 基本上都用这个Flag。
  • break – 中止Rewirte,不在继续匹配
  • redirect – 返回临时重定向的HTTP状态302
  • permanent – 返回永久重定向的HTTP状态301

测试是否定向成功

/usr/local/nginx/sbin/nginx -t

提示:

the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

configuration file /usr/local/nginx/conf/nginx.conf test is successful

测试成功, 重启nginx,输入命令:

/usr/local/nginx/sbin/nginx -s reload

重启之后测试一下~是否成功设定完成!

输入命令:

curl  –I   sunrisenan.com

返回如下

HTTP/1.1 301 Moved Permanently

Server: nginx/0.7.65

Date: Tue, 03 Aug 2010 01:12:37 GMT

Content-Type: text/html

Content-Length: 185

Connection: keep-alive

Location: http://www.sunrisenan.com/

时间: 2024-08-01 22:47:07

Nginx 301重定向设置二种方法的相关文章

centos开机启动设置二种方法

方法1,利用 chkconfig 来配置启动级别 在CentOS或者RedHat其他系统下,如果是后面安装的服务,如httpd.mysqld.postfix等,安装后系统默认不会自动启动的. 就算手动执行/etc/init.d/mysqld start启动了服务,只要服务器重启后,系统仍然不会自动启动服务. 此时,只需要在安装后做个设置,让系统自动启动这些服务,避免不必要的损失和麻烦. 使用chkconfig即可.比如要将mysqld设置为开机自动启动: #chkconfig mysqld on

ngin配置301重定向设置方法和nginx子目录301重定向

这篇文章主要介绍了ngin配置301重定向设置方法和nginx子目录301重定向,需要的朋友可以参考下nginx版本为1.1.19. 若域名由a.com转移到了b.com,并对两个域名有所有权,可以:复制代码 代码如下:server{ server_name a.com; return 301 $scheme://b.com$request_uri; } 重启服务器,然后看一下成功与否:复制代码 代码如下:curl -I a.com nginx子目录301重定向设置方法 如我想把www.b.co

nginx 301重定向几种写法

nginx 301重定向写法域名设置从http强制跳转到https server {listen 80;server_name 100tt.com www.100tt.com 100tt.me 100tt.vip 100tt.org;rewrite ^(.*)$ https://$host$1 permanent;} 或者以下写法,从一个域名跳到另一个域名,但是这些域名都是nginx配置上有的域名 server {server_name 666.com www.666.com;if ($host

apache虚拟主机301重定向设置

301重定向(301 redirect)又叫301代表永久性转移(Permanently Moved),将各种网络请求重新定个方向转到其它位置,是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址.下面说下两种情况下的301重定向方法. WWW域名的重定向.这是我们大多数站长建站后都会面对的一种情况.那么如何做呢?将不带www重定向带WWW的地址.登录FTP,找到根目录下的.htaccess文件,下载到本地,编辑该文件,在第1行 RewriteEngine

mysql 远程连接数据库的二种方法

一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5.116),端口"3306",用户名为"root",密码"123456" C:/>mysql -h 192.168.5.116 -P 3306 -u root -p123456 2.隐藏密码 如:MySQL 连接本地数据库,用户名为"root", C:/>mysql -h localhost -u root -p Enter pa

PHP生成二维码二种方法和实例

PHP生成二维码的两个方法和实例,分别使用Google API和PHP二维码生成类库PHP QR Code实现. 之前介绍过通过使用jQuery插件来生成二维码,今天分享下如何使用PHP生成二维码,以及如何生成中间带LOGO图像的二维码.利用Google API生成二维码Google提供了较为完善的二维码生成接口,调用API接口很简单,以下是调用代码: $urlToEncode="http://www.jbxue.com"; generateQRfromGoogle($urlToEnc

CURL模拟POST提交的二种方法实例

CURL应用广范,本文来介绍CURL模拟POST提交的二种方法实例,他们都是返回json字符串格式. 方法一(返回的是json字符串格式): /** * Curl版本 * 使用方法: * $post_string = "app=request&version=beta"; * request_by_curl('http://facebook.cn/restServer.php',$post_string); */ function actionPost($url,$data){

FastReport中的frxRichView如何设置二种不同的字体 [问题点数:100分,结帖人LIULIVERYOK]

FastReport中的frxRichView如何设置二种不同的字体 [问题点数:100分,结帖人LIULIVERYOK] 在frxRichView中有几段文字,如何给第一段文字设置不同的字体? 感激大虾们能给下答案!!! 来源:http://bbs.csdn.net/topics/390952125?page=1 解答: frxReport1->LoadFromFile(L"D:\\ccrun\\123.fr3"); TfrxRichView *f = (TfrxRichVie

debian7更换gcc版本的二种方法分享

debian7更换gcc版本的二种方法分享 最近在编译qt,之前用的是debian6,gcc版本是gcc-4.4,当使用debian7时,编译遇到了很多跟debian6不一样的问题,debian7的默认gcc使用的是gcc-4.7,可能是编译器版本的问题,所以需要将debian7的gcc版本更换为gcc-4.4,办法如下:(推荐用方法一) 方法一: 安装gcc4.4和g++4.4 复制代码 代码如下: sudo apt-get install gcc-4.4sudo apt-get isntal