利用nginx的try_files指令轻松搞定。

在你的nginx配置文件(nginx.conf)里加上一句配置:

location / {try_files $uri $uri/ $uri.php$is_args$args;}

就可以实现隐蔽网页.php后缀名了。

php后缀名nginx一招设置装备摆设帮你快速隐蔽php后缀名 GraphQL

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里的配置返回相应的缺点信息。

环境2:

假设用户访问的URL是:yuanhuaixuetang.com/about?id=12

nginx的解析过程如下:

该URL有传参数,$uri 是 /about,$is_args为“?”,$args为id=12

解析过程同上,不再细述,该环境终极实际返回给用户的是:访问域名 + about.php?id=12这个URL。

有没有GET到这一招,以为有用就收藏、转发吧,记得关注「远怀学堂」,不断有好的教程发布哦。