Skip to content

nginx 301重定向

301转向(或叫301重定向,301跳转)是当用户或搜索引擎网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。

nginx怎么配置呢?我只会下面的一个方法,而且花了点时间。我想要把我的网站letterforu.com直接转到www.letterforu.com。www.letterforu.com只相当与letterforu.com的子域名。我其实犹豫啊,到底是转到www.letterforu.com下还是转到letterforu.com下。暂时转到www.letterforu.com下吧。

使用vi conf/nginx.conf

下面是我的网站的代码

[shell] server { listen 80; server_name www.letterforu.com letterforu.com ; if( $host != 'www.letterforu.com'){ rewrite ^/(.*)$ http://www.letterforu.com/$1 permanent; } .... } [/shell]
使用nginx使更改生效,马上就报错了crying。。。
[shell] [root@letterforu nginx]# sbin/nginx -s reload nginx: [emerg] unknown directive "if(" in /usr/local/nginx/conf/nginx.conf:39 [/shell]
哈哈,我故意贴出这个错误的。if那要加个空格哦,看看加了空格的效果。
[shell] [root@letterforu nginx]# sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@letterforu nginx]#sbin/nginx -s reload [/shell]
马上生效了。
[shell] [root@letterforu nginx]# curl -i letterforu.com HTTP/1.1 301 Moved Permanently Server: nginx/1.0.8 Date: Tue, 15 Nov 2011 15:28:48 GMT Content-Type: text/html Content-Length: 184 Connection: keep-alive Location: http://www.letterforu.com/ [/shell]