Nginx配置Laravel与WordPress,访问site.com/blog报Primary script unknown错误
问题解决
你的Nginx配置问题出在/blog location块的try_files和PHP路径处理上,导致访问site.com/blog时,Nginx无法正确找到WordPress的index.php脚本。
修正后的配置
替换原配置中的location /blog块为以下内容:
location /blog { alias /var/www/blog; try_files $uri $uri/ /blog/index.php?$query_string; location ~ \.php$ { fastcgi_pass unix:/var/run/php/php8.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include fastcgi_params; } }
关键修改说明
- 调整
try_files最后参数:将/index.php?$query_string改为/blog/index.php?$query_string,确保请求/blog/时,转发到WordPress目录下的index.php,而非Laravel项目的根目录脚本。 - 修正PHP脚本路径:将
$realpath_root$fastcgi_script_name替换为$request_filename,利用Nginx的alias映射自动计算正确的文件路径,避免因URI前缀导致的路径错误。
修改后重启Nginx服务:
sudo systemctl restart nginx
内容的提问来源于stack exchange,提问作者Parsa Haghighi
相关产品推荐
相关产品推荐

