Seu (.*)
também captura o caractere /
. Você precisa excluí-lo para evitar um loop.
Tente:
rewrite ^(/[^/]+)$ $1/system redirect;
Veja este recurso útil em expressões regulares.
Eu quero reescrever uma url contendo um caminho de variável específico, apenas para um ip de usuário específico.
http://domain.com/variable
Deve se tornar:
http://domain.com/variable/system
No entanto, se houver outro caminho seguindo o caminho / variable, ele deve permanecer inalterado. Portanto, o URL a seguir deve permanecer o mesmo:
http:/domain.com/variable/something-else
Eu tentei o seguinte código
if ($http_x_forwarded_for = xxx.xxx.x.xx) {
rewrite ^/(.*)$ http://domain.com/$1/system redirect;
}
No entanto, ao executar este código, parece obter um loop, resultando em
http://domain.com/variable/system/system/system/system ....
Eu entendo o que está errado, mas não sei como posso corrigi-lo facilmente / corretamente. Qualquer ajuda seria muito apreciada.
Seu (.*)
também captura o caractere /
. Você precisa excluí-lo para evitar um loop.
Tente:
rewrite ^(/[^/]+)$ $1/system redirect;
Veja este recurso útil em expressões regulares.