现在很多人都喜欢用Nginx作为Web服务器部署网站,nginx配置起来也是相当的方便,如果你的网站是php语言开发的话,下面我们教大家简单的一招快速的隐藏网页的php后缀名,实现一种Pretty URL 。
文章插图
【nginx一招配置,帮你快速隐藏php后缀名】
使用nginx的try_files指令轻松搞定 。
在你的nginx配置文件(nginx.conf)里加上一句配置:
location / { try_files $uri $uri/ $uri.php$is_args$args;}
就可以实现隐藏网页.php后缀名了 。try_files是nginx中的一个指令,有点类似于rewrite,用于尝试寻找指令后面指定路径的文件或目录并返回 。
$uri表示当前请求的URI路径,也就是URL域名后面的路径,不带参数 。
$is_args表示如果请求的URL中带有参数,则$is_args代表的是“?”,如果请求的URL中没有参数则返回空字符串,用于传参用 。
$args表示请求URL中的完整的参数 。
下面根据图示例子来解读下nginx服务器是如何处理的:
情形1:
假设用户访问的URL是:yuanhuaixuetang.com/about
文章插图
nginx的解析过程如下:
该URL没有传参数,$uri 是 /about,$is_args为空,$args也为空
- nginx服务器会先去尝试寻找about文件(相对于网站根目录),如果存在则返回该文件
- 如果about文件不存在,则尝试寻找about/目录(相对于网站根目录),如果存在则返回 。
- 如果about/目录不存在,则尝试寻找about.php文件(相对于网站根目录),如果存在则返回该文件并根据请求信息带上后面的请求参数,该例子中实际返回的是about.php,因为原始请求不带参数,所以实际返回的也不带参数 。
- 如果上面的都找不到,可以根据nginx里的配置返回相应的错误信息 。
假设用户访问的URL是:yuanhuaixuetang.com/about?id=12
文章插图
nginx的解析过程如下:
该URL有传参数,$uri 是 /about,$is_args为“?”,$args为id=12
解析过程同上,不再细述,该情形最终实际返回给用户的是:访问域名 + about.php?id=12这个URL 。
有没有GET到这一招,觉得有用就收藏、转发吧,记得关注「远怀学堂」,不断有好的教程发布哦 。
推荐阅读
- mysql数据库的一些安全配置
- Linux+Nginx+MySQL+PHP CentOS 8.1下搭建LEMP环境
- Windows配置JDK路径
- 华为网络设备单臂路由配置实验
- IPv6系列-彻底弄明白有状态与无状态配置IPv6地址
- 免费网站高级Waf防火墙:VeryNginx,防御网站被攻击
- Nginx只允许域名访问网站,禁止使用IP 访问80,443端口
- 香蕉放几天就发黑?老农教你一招,保证半个月不坏,新鲜如初
- 车窗起雾原来不用开暖风,一招让车窗秒变高清
- iphone日历不显示中国的节假日?一招教你搞定