Я действительно запуталась. У меня есть веб-сервер с nginx внутри виртуальной машины. Я перенаправляю порт 8082 с хост-машины на порт 80 на виртуальной машине. Фактически, собираясь exampledomain.dev:8082
работает, как ожидалось, показывая веб-страницу.
Проблема возникает, когда я набираю такой URL-адрес exampledomain.dev:8082/subdirectory
Браузер перенаправляет меня на exampledomain.dev/subdirectory
без номера порта, значит, ничего не работает. Но если я добавлю обратную косую черту в конце URL-адреса, как это exampledomain.dev:8082/subdirectory/
он работает нормально.
Мой вопрос, как я могу указать exampledomain.dev:8082/subdirectory
и exampledomain.dev:8082/subdirectory/
в то же место и как предотвратить удаление номера порта nginx?
Если это важно, это моя фактическая конфигурация nginx внутри виртуальной машины:
server {
listen 80;
server_name exampledomain.dev;
root /srv/www/exampledomain;
index index.php;
rewrite ^([^.]*[^/])$ $1/ permanent;
location /subdirectory {
try_files $uri $uri/ /subdirectory/index.php?$args;
}
}
Самое простое решение - изменить вашу перезапись на
rewrite ^([^.]*[^/])$ http://exampledomain.dev:8082/$1/ permanent;