2016-01-17 2 views
0

Я использую nginx для добавления субдомена в свой основной домен. Проблема в том, что прокси-сервер для моего другого индекса серверов - myip/folder/index.php Я сделал правило перезаписи в файле добавления хоста, который, когда я пытаюсь достичь subdomain.mydomain.com, перенаправляет его в myip/folder/index.php, но полностью путь к индексу виден. Как я могу скрыть путь в моем файле хоста добавления? мой хост-файл добавить выглядит следующим образом:Как переписать путь к моему серверу?

server { 
listen 80; 
server_name subdomain.mydomain.com; 
location/{ 
    proxy_pass http://192.168.0.0/; 
rewrite ^/$ http://subdomain.mydomain.com/folder/index.php# permanent; 
} 

}

+0

Похоже, что ваш параметр 'location''/'является основной проблемой. Вы хотите заменить косую черту подстановочным знаком, который будет соответствовать всем. Используемый вами синтаксис предназначен для отправки файлов по умолчанию, таких как index.php. – Zdenek

+0

Я попытался изменить параметр '/' по папке, но все же я могу видеть полный путь. – Beprotis

ответ

1

директива rewrite может использоваться в четырех направлениях. Модификатор permanent выполняет внешнюю переадресацию с использованием кода ответа http 301. Внешнее перенаправление обычно отображается пользователю, изменяя адресную строку URL в своем браузере.

Что вы хотите сделать, это внутренняя переадресация , которая выполняет преобразование незаметно для пользователя.

Однако директива proxy_pass способна выполнять простые преобразования без необходимости использования директивы rewrite.

Try:

location/{ 
    proxy_pass http://192.168.0.0/folder/; 
} 

Это будет молча префикс /folder/ перед отправкой URI вверх по течению.

Для получения более подробной информации см. this document и this document.

+0

Я попытался сделать так, как вы sugested, но каталог ger 404 eror указан отключен. Может быть, есть другое решение, не позволяющее? – Beprotis

+0

На данный момент все, что я пробовал: 'server { слушать 80; имя_сервера subdomain.mydomain.com; местоположение/папка/{ proxy_pass http://192.168.0.0/folder; } } 'Но он работал, я все еще могу видеть полный путь к моему индексу – Beprotis

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