2013-07-13 208 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'還是至少有關於這個站點的部分? –