Você pode usar a diretiva try_files
para verificar se há um arquivo com .php
anexado. Por exemplo:
try_files $uri.php $uri;
Isso primeiro procurará /about.php
e, em seguida, processará /about
, se ele não existir.
Pretendo fazer reescrever meus URLs para que as páginas não terminem em /.php.
Por exemplo, eu quero fazer com que '/about.php' seja como '/ about' ou '/ about /'
Alguém pode compartilhar o módulo para fazer isso? Se você tiver um exemplo de arquivo nginx.conf ou virtual.conf que mostre esse tipo de reescrita, eu ficaria grato.
Obviamente, eu sou um noob, mas estou tentando aprender pelo exemplo.
Você pode usar a diretiva try_files
para verificar se há um arquivo com .php
anexado. Por exemplo:
try_files $uri.php $uri;
Isso primeiro procurará /about.php
e, em seguida, processará /about
, se ele não existir.
location /about/ {
proxy_pass http://backend/about.php;
}
ou
# this will catch ALL files and rewrite ALL requests
(like /blabla/file to /blabla/file.php)
# it is not tested , but I guess you will understand this :)
location / {
rewrite ^/(.+)$ /$1.php break;
proxy_pass http://backend;
}
ou pode ser a maneira mais simples
location / {
proxy_path http://backend$uri.php #append .php to all files
}
final lembre-se que o módulo de reescrita está lento .. tente evitá-lo
Tags nginx