Назад | Перейти на главную страницу

Запретить Nginx удалить номер порта

Я действительно запуталась. У меня есть веб-сервер с 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;