A correção mais simples é alterar sua reescrita para
rewrite ^([^.]*[^/])$ http://exampledomain.dev:8082/$1/ permanent;
Bem, estou muito confuso. Eu tenho um servidor web executando nginx dentro de uma máquina virtual. Estou encaminhando a porta 8082 da máquina host para a porta 80 na máquina virtual. De fato, ir para exampledomain.dev:8082
funciona como esperado mostrando a página da Web.
O problema acontece quando eu digito uma url como esta exampledomain.dev:8082/subdirectory
O navegador me redireciona para exampledomain.dev/subdirectory
sem o número da porta, então nada funciona. Mas se eu adicionar uma barra invertida no URL como esta exampledomain.dev:8082/subdirectory/
, ela funcionará corretamente.
A minha pergunta é, como posso apontar exampledomain.dev:8082/subdirectory
e exampledomain.dev:8082/subdirectory/
para o mesmo lugar e como evito que o nginx remova o número da porta?
Se for importante, esta é minha configuração nginx real dentro da máquina virtual:
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;
}
}
Tags virtualbox nginx vagrant