是山河呀 发表于 2024-8-1 14:56:08

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

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

[*]打开宝塔面板并进入网站设置:


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


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


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



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

[*]保存并应用设置:


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

[*]创建包含伪静态规则的文件:


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



[*]修改 Nginx 配置文件:


[*]打开宝塔面板,进入 Nginx 管理页面。

[*]找到并编辑站点的 Nginx 配置文件,通常位于 /www/server/panel/vhost/nginx/your_site.conf。

[*]在 server 块中包含刚刚创建的 rewrite_rules.conf 文件。

server {
    listen 80;
    server_name your_site.com;
    root /path/to/your/site;

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

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

    # 其他配置...
}



[*]保存并重启 Nginx:


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

运维技术阿闯 发表于 2024-8-2 16:22:29

谢谢您的解答:lol

okevin 发表于 2025-3-15 12:54:26

location / {
    try_files $uri $uri/ /index.php?$args;
}

这个就可以用
页: [1]
查看完整版本: NGINX实现站点的伪静态规则(非灌水)