在Nginx中配置ThinkPHP的PATHINFO隐藏,可以通过修改Nginx配置文件来实现,以下是一个示例配置:
server { listen 80; server_name yourdomain.com; root /path/to/your/thinkphp/public; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; # 根据你的PHP-FPM配置调整 fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } location ~ /\.ht { deny all; } }
在这个配置中,try_files $uri $uri/ /index.php?$query_string;
这行代码的作用是尝试按顺序访问文件或目录,如果都不存在,则重写URL到/index.php
并带上原始查询字符串,这样,ThinkPHP就可以通过PATHINFO来解析控制器和方法了。
确保你的PHP-FPM服务正在运行,并且Nginx配置中的fastcgi_pass
指向正确的地址和端口。
请确保你的ThinkPHP应用的入口文件(通常是index.php
)位于服务器的根目录下,或者根据实际情况调整root
指令的路径。