nginx伪静态重写实例,如果设置访问/ss/xxx.html获取的是/ss/xxx.php的内容

2023.04.28 / 小杰

在 Nginx 中,要实现伪静态重写,你需要修改 Nginx 配置文件,通常是 nginx.conf 或者在 sites-available 目录下的站点配置文件。

可以使用 locationrewrite 指令来实现这个需求,请按照以下步骤操作:

1、打开 Nginx 配置文件,通常位于 /etc/nginx/nginx.conf/etc/nginx/sites-available/your-domain.conf

2、在 server 块中,添加以下配置:

location /ss/ {
    rewrite ^/ss/([^.]+)\.html$ /ss/$1.php last;
    try_files $uri $uri/ =404;
}

这个配置中的 rewrite 指令会匹配到以 /ss/xxx.html 格式的 URL,并将其重写为 /ss/xxx.php。注意,这里使用了正则表达式来捕获不带后缀的文件名部分。

3、保存配置文件并退出编辑器。

4、重新加载 Nginx 配置以使更改生效。在命令行中输入以下命令:

sudo nginx -t

确保配置文件没有语法错误。如果一切正常,你会看到以下输出:

nginx: configuration file /etc/nginx/nginx.conf test is successful

5、重新加载 Nginx 服务:

sudo service nginx reload

现在,访问 /ss/xxx.html 应该会显示 /ss/xxx.php 的内容。如果仍然无法正常工作,请检查配置文件中的其他设置,确保没有冲突或错误。

- END -

1.2w

PHP小白必知: web服务器该选择apache还是nginx?

PHP小白必知: web服务器该选择apache还是nginx?很多人都会考虑在PHP环境搭建过程中到底是用LAMP好呢?还是...