当前位置:论坛首页 > 新功能建议 > Linux面板

NGINX实现站点的伪静态规则(非灌水)

发表在 新功能建议2024-8-1 14:56 [复制链接] 1 1467

在宝塔面板中,你可以通过设置 Nginx 的重写规则来实现站点的伪静态规则。具体步骤如下:
  • 打开宝塔面板并进入网站设置

    • 登录宝塔面板。
    • 在左侧菜单中选择“网站”,然后点击你要设置伪静态规则的站点。
  • 进入伪静态设置页面

    • 在站点设置页面中,找到“设置”按钮并点击。
    • 在弹出的设置窗口中,选择“伪静态”选项卡。
  • 添加伪静态规则

    • 在伪静态规则的文本框中输入你的伪静态规则。以 PHP 项目为例,常见的伪静态规则如下:
      1. location / {
      2.     if (!-e $request_filename) {
      3.         rewrite ^/(.*)$ /index.php/$1 last;
      4.     }
      5. }
      复制代码



    • 这个规则表示,如果请求的文件不存在,则将请求重写到 index.php。

  • 保存并应用设置

    • 输入完伪静态规则后,点击“保存”按钮。
    • 保存成功后,宝塔面板会自动重启 Nginx 服务以应用新的规则。
通过站点根目录的文件自动设置伪静态规则如果希望通过某个文件自动设置伪静态规则,可以使用 .htaccess 文件(适用于 Apache)或者在 Nginx 配置文件中包含一个外部文件。这需要你在站点的 Nginx 配置文件中做一些额外的设置:
  • 创建包含伪静态规则的文件

    • 在站点的根目录下创建一个文件,例如 rewrite_rules.conf,并在其中添加伪静态规则。
      1. if (!-e $request_filename) {
      2.     rewrite ^/(.*)$ /index.php/$1 last;
      3. }
      复制代码




  • 修改 Nginx 配置文件

    • 打开宝塔面板,进入 Nginx 管理页面。
    • 找到并编辑站点的 Nginx 配置文件,通常位于 /www/server/panel/vhost/nginx/your_site.conf。
    • 在 server 块中包含刚刚创建的 rewrite_rules.conf 文件。

      1. server {
      2.     listen 80;
      3.     server_name your_site.com;
      4.     root /path/to/your/site;

      5.     include /path/to/your/site/rewrite_rules.conf;

      6.     location / {
      7.         try_files $uri $uri/ /index.php?$query_string;
      8.     }

      9.     # 其他配置...
      10. }
      复制代码




  • 保存并重启 Nginx

    • 保存修改后的配置文件。
    • 返回宝塔面板,重启 Nginx 服务以应用新的配置。
这样,当你需要修改伪静态规则时,只需更新 rewrite_rules.conf 文件,无需每次都进入宝塔面板进行手动设置。

使用道具 举报 只看该作者 回复
发表于 2024-8-2 16:22:29 | 显示全部楼层
谢谢您的解答
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表