前言:如何使用Nginx从url中删除.php或其他后缀?最近手头一直在搞一个小玩具,期间遇到很多小问题,解决问题的同时就当记录一下。
举个栗子:
1.https://pirssr.com/text/doc => https://pirssr.com/api/doc.txt
2.https://pirssr.com/index => https://pirssr.com/index.php
如何优雅的且不带后缀访问所需网址?
1.第一种方法(去掉.php一种后缀)
location / {
try_files $uri $uri/ $uri.php?$args;
}
2.第二种方法(适用于去掉多种后缀)
location / {
try_files $uri $uri.html $uri/ @extensionless-php;
index index.html index.htm index.php;
}
location ~ \.php$ {
try_files $uri =404;
}
location @extensionless-php {
rewrite ^(.*)$ $1.php last;
}