2015-09-23 4 views
2

У меня есть URL-адрес в качестве https://test.rockon.me/Profiles/XYZ-ABC-PQRS/default.aspx теперь используют Nginx я должны написать правила для создания поддомена, который может сделать URL, как https://XYZ-ABC-PQRS/test.rockon.me/Profiles/default.aspx здесь XYZ-ABC-ФХЦЧ это имя пользователя какого-либо пользователя.Как переписать URL с помощью Nginx

server 
    { 
     access_log /var/log/nginx/subcalls.log; 
     proxy_set_header  Host   $host; 
     proxy_set_header  X-Real-IP  $remote_addr; 
     proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for; 

     add_header Access-Control-Allow-Origin *; 
     listen 80; 
     server_name ~^(?<subdomain>.+)\nithinveer\.com$; 

     location/
    { 
     proxy_pass http://192.168.6.190/Profiles/$subdomain$request_uri/; 
    } 
+0

сделал ли вы попробовать? rewrite https://test.rockon.me/Profiles/(.*)/default.aspx https: //$1/test.rockon.me/Profiles/default.aspx – Satys

+0

Спасибо за ваши усилия, я пробовал то же самое. К сожалению, это не сработало. Существует некоторая логика, которая не указана в коде. –

+0

Какая ошибка? – Satys

ответ

0

Yours не работает, вероятно, потому, что вы ожидаете $request_uri = /default.aspx чего нет, это на самом деле, все после подобласти т.е. /Profiles/user/default.aspx

Попробуйте это,

server { 
    server_name test.rockon.me; 
    rewrite ^/Profiles/(.*)/default.aspx http://$1/test.rockon.me/Profiles/default.aspx permanent; 
} 

Другой вариант использования proxy_pass может be,

server{ 
    server_name test.rockon.me; 
    location/{ 
    rewrite /Profiles/(.*)/(.*) /Profiles/$1/$2 break; 
    proxy_pass http://192.168.6.190; 
    } 
} 

Надеюсь, что он пс. :)

Смежные вопросы