2015-06-30 63 views
-1

我提出我的網站,從阿帕奇nginx的運行新的服務器。NGINX重寫剝奪一個URL段

舊的網站結構是:

example.com/NEW/

新的結構:

example.com/

我仍然引用上傳幾個應用程序/文件如:

example.com/NEW/assets/images/7871862618261826.jpg

我需要重寫所有包含/ NEW /參數的請求。

如:

example.com/NEW/assets/images/7871862618261826.jpg

應該被路由到:

example.com/assets/images/7871862618261826.jpg

我目前Nginx的配置是這樣的:

server { 
    listen 80; 
    server_name www.domain.com domain.com; 
    return 301 https://www.domain.com$request_uri; 
} 

服務器{

listen 443; 
if ($http_host = domain.com) { 
    rewrite (.*) https://www.domain.com$1; 
} 

location /NEW/ { 

    rewrite ^/NEW(.*)$ $1 last; 
    #return 405; 
    #return 301 https://www.domain.com$request_uri; 
} 


server_name domain.com www.domain.com; 

access_log /var/log/nginx/domaincom.access.log; 
error_log /var/log/nginx/domaincom.error.log; 

root /var/www/domain.com/public_html/; 
index index.html index.htm index.php; 

#set default location 
location/{ 

     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $remote_addr; 
     proxy_set_header Host $host; 
     proxy_pass http://127.0.0.1:8080; 

} 

} 

我該如何實現重寫?

+0

你的例子應該這樣做。什麼是問題? –

+0

嗨阿列克謝,它不是用上面的塊重寫。 – preschool

+0

刪除脫字符('^') –

回答

0

我終於得到它與下面的位置塊的工作:

location ~ /NEW/.*\.(png|jpg|gif|pdf|doc)$ { 

    rewrite ^/NEW(.*)$ $1 last; 

} 

這似乎需要沒有被執行的地點塊。