J'ai implémenté le code Nginx suivant:
location / {
try_files $uri $uri.php $uri/ @extensionless-php;
index index.html index.htm index.php;
}
location ~ \.php$ {
try_files $uri =404;
}
location @extensionless-php {
rewrite ^(.*)$ $1.php last;
}
La suppression de l'extension .php
a réussi, mais la page est également chargée avec l'extension .php
. Par exemple, http://example.com/pages/page.php
et http://example.com/pages/page
fonctionnent.
Aidez-moi à faire en sorte que la page ne se charge que sans l'extension .php
.
location ~ \.php$ {
try_files $uri =404;
}
Cette configuration correspond à /pages/page.php
. Dans ce cas, $uri
(le premier argument de try_files
) est /pages/page.php
. Par conséquent, si ce fichier existe, nginx en renvoie le contenu.
Si vous souhaitez renvoyer 404 pour toute demande portant l’extension .php
, le réglage suivant est correct.
location ~ \.php$ {
return 404;
}