nginx一招配置,帮你快速隐藏php后缀名
远怀学堂:
补充一点:
按照文章上面的配置,访问about和about.php会同时能访问,返回的内容也相同,按照上面的配置的确存在这样的弊端,不过可以通过对nginx进一步的配置来解决这样的弊端。
可以nginx里加上配置(此配置测试有效)
location ~\.php$ {
if ($request_uri ~ ^/([^?]*)\.php($|\?)) { return 302 /$1$is_args$args; }
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
#....更多的php的配置信息
}
重点是加上了 if ($request_uri ~ ^/([^?]*)\.php($|\?)) { return 302 /$1$is_args$args; } 这句配置,nginx会判断当前访问的URL是不是以.php结尾的,如果是的话就用 302重定向到不带.php结尾请求,比如你访问/about.php时会自动重定向到/about,同时也能正常的传递后续的参数,比如访问/about.php?id=12会自动重定向到/about?id=12这个请求上去,测试有效。
除了使用上面的增加配置的方法,还可以在php开发时使用路由,像FastRoute之类的,再配上nginx里的简单配置也可以实现这种不显示.php结尾的效果。
FastRoute、更多的Nginx的配置等这方面内容我们后面也会出相关精品教程的,欢迎大家关注我们「远怀学堂」,我们专注于「原创精品」的教程。
|