tôi cần hai loại viết lại:nginx subdomain và viết lại miền w Proxy vượt qua
subdomain.domain.com => domain.com/website/subdomain
otherdomain.com => domain.com/userdomain/otherdomain.com
Vấn đề của tôi là tôi muốn người dùng xem subdomain.domain.com
, và otherdomain.com
, không phải là phiên bản được chuyển hướng. viết lại hiện tại của tôi trong nginx hoạt động, nhưng URL của người dùng cho thấy sự viết lại, và tôi muốn điều này được minh bạch cho người dùng, bất kỳ ý tưởng ?:
upstream domain_server { server localhost:8000 fail_timeout=0; }
server {
listen 80;
root /var/www/domain.com;
server_name domain.com ~^(?<subdomain>.*)\.domain\.com$ ~^(?<otherdomain>.*)$;
if ($subdomain) {
rewrite^http://domain.com/website/$subdomain break;
}
if ($otherdomain) {
rewrite^http://domain.com/userdomain/$otherdomain break;
}
location/{
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;
if (!-f $request_filename) {
proxy_pass http://domain_server;
break;
}
}
}
tìm thấy một cái gì đó thú vị ở đây: http://blog.martinfjordvald.com/2011/02/nginx-primer- 2-từ-apache-to-nginx /. Nó nói "Một điều nữa về việc viết lại Nginx là mặc định chúng được viết lại nội bộ, có nghĩa là chúng sẽ không thay đổi URI mà trình duyệt nhìn thấy. Chúng sẽ chỉ làm điều đó nếu bạn chỉ định cờ viết lại" chuyển hướng "hoặc" vĩnh viễn "hoặc nếu bạn viết lại một URL tuyệt đối bao gồm cả phần http: //. ". Đang cố gắng sử dụng điều này để đưa ra giải pháp ... – pyramation