muszę te dwa rodzaje przepisuje:nginx subdomeny i przepisać domeny w proxy przekazać
subdomain.domain.com => domain.com/website/subdomain
otherdomain.com => domain.com/userdomain/otherdomain.com
Mój problem jest, że chcę użytkownikowi zobaczyć subdomain.domain.com
i otherdomain.com
, a nie przekierowana wersja. Mój obecny przepisać w nginx działa, ale URL użytkownika pokazuje przepisać, i chcę to być niewidoczne dla użytkownika, jakieś pomysły ?:
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;
}
}
}
znaleźć coś ciekawego tutaj: http://blog.martinfjordvald.com/2011/02/nginx-primer- 2-from-apache-to-nginx /. Mówi "Inną rzeczą w przepisywaniu Nginx jest to, że domyślnie są one wewnętrznymi przepisywaniami, co oznacza, że nie zmieniają identyfikatora URI, który widzi przeglądarka. Będą to robić tylko po określeniu" przekierowania "lub" stałego "przepisywania flagi lub jeśli przepisujesz na bezwzględny URL zawierający część http: //. ". Próbuję użyć tego, by wymyślić rozwiązanie ... – pyramation