为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用NGINX从网址中同时删除.php和.html扩展名?

如何使用NGINX从网址中同时删除.php和.html扩展名?

噜噜哒 2019-10-11 11:16:16
我希望我的nginx使显示的所有URL干净。http://www.mydomain.com/indexhtml.html作为http://www.mydomain.com/indexhtmlhttp://www.mydomain.com/indexphp.php作为http://www.mydomain.com/indexphp通过一些研究,我使第一个案例奏效。它是通过以下配置完成的:location / {    root   html;    index  index.html index.htm index.php;    try_files $uri.html $uri/ =404; }它适用于将indexhtml.html显示为indexhtml,但.php则没有任何反应。如果我将$ uri.html更改为$ uri.php,则它不适用于.html和.php。我已经尝试在php位置放置类似内容,但没有成功。有什么建议吗?
查看完整描述

3 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

无需额外的块和命名的位置以及所有内容。还将index线移到位置块外


server {

  index index.html index.php;

  location / {

    try_files $uri $uri/ $uri.html $uri.php$is_args$query_string;

  }

  location ~ \.php$ {

    try_files $uri =404;

    # add fastcgi_pass line here, depending if you use socket or port

  }

}

请记住,如果您在同一文件夹中有一个文件夹和一个具有相同名称的文件,例如/folder/xyz/并且/folder/xyz.php如果该文件夹xyz包含index.php或index.html,则将无法运行php文件,请记住这一点。


查看完整回答
反对 回复 2019-10-11
  • 3 回答
  • 0 关注
  • 908 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信