手动阀

Good Luck To You!

Nginx隐藏index.php和Pathinfo模式配置例子

在Nginx中隐藏index.php和启用Pathinfo模式,可以通过配置重写规则来实现,以下是一个示例配置:

server {
    listen 80;
    server_name example.com;
    root /var/www/html;
    index index.php index.html index.htm;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
        include snippets/fastcgiphp.conf;
        fastcgi_pass unix:/run/php/php7.4fpm.sock; # 根据你的PHP版本调整
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    location ~ /\.ht {
        deny all;
    }
}

解释:

1、根目录和索引文件

    root /var/www/html;
    index index.php index.html index.htm;

这里指定了网站的根目录和默认的索引文件。

2、主位置块

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

这个配置尝试按顺序查找请求的文件或目录,如果都不存在,则将请求转发到index.php,并保留查询字符串,这实现了Pathinfo模式。

3、PHP处理位置块

    location ~ \.php$ {
        include snippets/fastcgiphp.conf;
        fastcgi_pass unix:/run/php/php7.4fpm.sock; # 根据你的PHP版本调整
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

这个配置用于处理所有以.php结尾的请求,通过FastCGI传递给PHPFPM进行处理,你需要根据你的PHP版本调整fastcgi_pass指令。

4、禁止访问.ht文件

    location ~ /\.ht {
        deny all;
    }

这条规则禁止访问任何以.ht开头的文件,增强安全性。

Pathinfo模式说明:

Pathinfo模式允许你通过URL路径传递参数给PHP脚本,访问http://example.com/user/profile时,PHP脚本可以解析出userprofile作为参数,这种模式通常用于框架如CodeIgniter、Laravel等。

注意事项:

确保你的PHPFPM服务正在运行,并且Nginx配置中的fastcgi_pass指向正确的套接字或端口。

根据实际需求调整配置文件中的路径和参数。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright Your WebSite.Some Rights Reserved.