nginx伪静态隐藏.php后缀,在url后补斜杠
时间: 2023-09-01 19:02:21 浏览: 131
使用nginx伪静态隐藏.php后缀并在URL后补斜杠的方法是通过在nginx的配置文件中添加相应的规则来实现。
首先,我们需要打开nginx的配置文件,一般位于/etc/nginx/nginx.conf。在该文件中,我们可以找到一个名为`server`的块,这是我们需要进行修改的地方。
首先,我们需要在`server`块中添加一个`location`块,用于匹配URL中以.php结尾的请求。可以使用正则表达式进行匹配,如以下所示:
```
location ~ \.php$ {
try_files $uri/ =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.4-fpm.sock; #指定php-fpm的sock文件路径
fastcgi_index index.php;
include fastcgi_params;
}
```
上面的配置中,通过`location`和正则表达式`~ \.php$`来匹配URL以.php结尾的请求。然后,使用`try_files`指令来尝试去寻找以URL后补斜杠的方式来访问文件,若找不到,则返回404错误。
接下来,我们使用`fastcgi_split_path_info`指令将请求分离为两部分,分别为PHP脚本文件路径和路径信息。然后,使用`fastcgi_pass`指令指定php-fpm的sock文件路径,以及`fastcgi_index`指令指定默认的PHP脚本文件名为index.php。
最后,我们将`fastcgi_params`包含进来,以确保正确地传递PHP脚本执行所需的参数。
保存配置文件后,重新加载nginx配置,可以使用`sudo nginx -s reload`命令。
这样,当访问URL时,nginx会自动隐藏.php后缀,并在URL后面自动补上斜杠。例如,如果原始URL为`http://example.com/index.php`,则通过上述配置后,可以直接访问`http://example.com/index/`来访问相应的页面。
阅读全文