需求背景
因为要做课程设计,其中一个功能需要去除 URL 中的.php进行访问。例如链接https://zkk.me/function.php,要能够使用https://zkk.me/function访问。自己手头已有的工具是 nginx,而我并不是很懂 nginx 的 rewrite 写法,所以去网上搜索了一下相关规则的书写方法,在这里记录一下。
实现方法
要实现去除.php后缀也能访问很简单,只需要在 nginx 中添加以下rewrite规则。
location / {
try_files $uri $uri/ $uri.php?$args;
}
添加规则后,重新载入 nginx
说明
注:添加上面的规则后,在你带.php后缀访问时并不会自动隐藏后缀。其作用仅是做到去除后缀也能访问。
例如,添加上述规则后使用下面两组 URL 进行访问是一样的效果。
- 带后缀
https://zkk.me/function.php https://zkk.me/api/save.php https://zkk.me/api/save.php?name=zkk&isHappy=true - 不带后缀
https://zkk.me/function https://zkk.me/api/save https://zkk.me/api/save?name=zkk&isHappy=true
REFERENCE