мне нужны эти два типа переписывает:Nginx субдомен и домен переписывают ж прокси передать
subdomain.domain.com => domain.com/website/subdomain
otherdomain.com => domain.com/userdomain/otherdomain.com
Моя проблема заключается в том, что я хочу, чтобы пользователь видел subdomain.domain.com
и otherdomain.com
, не перенаправленная версия. Мой текущий переписывают в Nginx работает, но URL пользователя показывает переписывают, и я хочу, чтобы это было прозрачно для пользователя, любые идеи ?:
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;
}
}
}
нашел что-то интересное здесь: http://blog.martinfjordvald.com/2011/02/nginx-primer- 2-из-апаша к Nginx /. В нем говорится: «Еще одна проблема с перезаписью Nginx заключается в том, что по умолчанию они являются внутренними переписями, что означает, что они не изменят URI, который видит браузер. Они будут делать это только в том случае, если вы укажете флаг« перенаправление »или« постоянный »переписать или если вы переписываете абсолютный URL, включая http: // part. ". Попытка использовать это, чтобы придумать решение ... – pyramation