2012-11-24 35 views
25

Tôi đang cố gắng để thực hiện quy tắc viết lại nginx cho tình huống sau đâyNginx quy tắc viết lại với proxy vượt qua

Yêu cầu:

http://192.168.64.76/Shep.ElicenseWeb/Public/OutputDocuments.ashx?uinz=12009718&iinbin=860610350635 

nên được chuyển hướng đến:

http://localhost:82/Public/OutputDocuments.ashx?uinz=12009718&iinbin=860610350635 

Tôi cố gắng này không có may mắn:

location /Shep.ElicenseWeb/ { 
    rewrite ^/Shep.ElicenseWeb/ /$1 last; 
    proxy_pass http://localhost:82; 
} 

Cách chính xác để thực hiện ghi lại như vậy cho nginx là gì?

Trả lời

44

Câu lệnh viết lại của bạn sai.

$ 1 ở bên phải đề cập đến một nhóm (được chỉ định bởi các paratheses) trong phần phù hợp.

Hãy thử:

rewrite ^/Shep.ElicenseWeb/(.*) /$1 break; 
+0

bạn có thể thử nó: > địa điểm/{ viết lại ^/(. *) /Shep.ElicenseWeb/$1 break; proxy_pass http://127.0.0.1:82; } – biolinh

Các vấn đề liên quan