2013-07-13 149 views
1

嗨仍然学习Linux(运行Ubuntu 10.04 LTS)&感谢您的任何帮助,我找到了我想做的事情的例子,但他们没有拼出来足以达到我的舒适程度..301重写永久重定向在Nginx

我将site1.com及其所有内容移至site2.com并需要永久301重定向,因为我在其他网站上有很多链接,我无法更改。

我发现最好的教程告诉我,做这样的事情:

### redirect beta.cyberciti.biz$URI to www.cyberciti.biz$URI with 301 ### 
server { 
    listen  75.126.153.206:80; 
    server_name beta.cyberciti.biz; 
    root  /usr/local/nginx/html; 
    index  index.html; 
    rewrite ^$scheme://www.cyberciti.biz$request_uri permanent; 
    # .... 
} 

但我很困惑,我是否添加此整块改变的变量,或者如果我应该更改服务器已经在我的conf文件中的{....}块。我在我的conf文件中的两个服务器{...},但它们都注释掉了(见下文)..不知道为什么他们在那里,如果他们被注释掉了..

#  server { 
#   listen  localhost:110; 
#   protocol pop3; 
#   proxy  on; 
#  } 
# 
#  server { 
#   listen  localhost:143; 
#   protocol imap; 
#   proxy  on; 
#  } 

当前nginx.conf是:

user www-data; 
worker_processes 3; 

error_log /var/log/nginx/error.log; 
pid  /var/run/nginx.pid; 

events { 
worker_connections 1024; 
# multi_accept on; 
} 

http { 
include  /etc/nginx/mime.types; 

access_log /var/log/nginx/access.log; 

sendfile  on; 
#tcp_nopush  on; 

#keepalive_timeout 0; 
keepalive_timeout 65; 
tcp_nodelay  on; 

gzip on; 
gzip_disable "MSIE [1-6]\.(?!.*SV1)"; 

include /etc/nginx/conf.d/*.conf; 
include /etc/nginx/sites-enabled/*; 
} 



# mail { 
#  # See sample authentication script at: 
#  # http://wiki.nginx.org/NginxImapAuthenticateWithApachePhpScript 
# 
#  # auth_http localhost/auth.php; 
#  # pop3_capabilities "TOP" "USER"; 
#  # imap_capabilities "IMAP4rev1" "UIDPLUS"; 
# 
#  server { 
#   listen  localhost:110; 
#   protocol pop3; 
#   proxy  on; 
#  } 
# 
#  server { 
#   listen  localhost:143; 
#   protocol imap; 
#   proxy  on; 
#  } 
# } 

我插入了你告诉我的http {}块下方的所有注释块。

回答

3

在nginx的变化server_name从站点1到站点2,然后创建一个新的站点1块

server { 
    listen 80; 
    server_name site1.com; 
    location/{ 
     return 301 $scheme://site2.com$request_uri; 
    } 
} 
+0

我得到这个,当我再补充一点: 根@邮件〜:服务nginx的重新启动 重启nginx的:EMERG]: /etc/nginx/nginx.conf中的未知指令“server”:31 配置文件/etc/nginx/nginx.conf测试失败 – user2156473

+0

我已经移动了所有文件,所以我没有删除我的服务器上的域区域,但是文件和文件夹都不见了......这可能是问题吗? – user2156473

+0

你把'server'放在另一个'server'里面吗?因为这是行不通的,你需要在另一个'server'块之外创建它,你能粘贴整个'nginx.conf'还是至少有关于这个站点的部分? –