You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用.htaccess配置美化URL的PHP项目部署出现404报错求助

部署问题解决方案

1. 调整Plesk子域名文档根目录(优先推荐)

该配置方案安全性更高,可避免应用逻辑代码被外部直接访问:

  • 进入Plesk Obsidian面板,找到dev.example.org子域名的管理页,依次打开「主机与DNS」-「Apache与nginx设置」
  • 将「文档根目录」修改为项目下的/public文件夹路径并保存
  • 将原项目根目录的.htaccess文件移动到/public文件夹内,修改内容为:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

2. 保留原目录结构的适配方案

如果你需要保持子域名根目录指向项目根目录的配置,按以下步骤调整:

  • 进入子域名的「Apache与nginx设置」页,在「附加Apache指令」的HTTP、HTTPS配置块分别添加AllowOverride All,确保.htaccess规则可被加载
  • 确认Apache的mod_rewrite模块已启用,Debian系统可执行命令a2enmod rewrite && systemctl restart apache2开启

3. 通用配置校验

以上两种方案都需要做以下检查:

  • 在附加Apache指令中添加AcceptPathInfo On,确保index.php/xxx格式的路径可被正常解析
  • 如果服务器开启了Nginx反向代理,可暂时关闭「静态文件由Nginx处理」的选项,或添加对应Nginx重写规则,避免请求被Nginx拦截返回404
  • 校验项目文件权限:文件夹权限设置为755,文件权限设置为644,文件所属用户/组与子域名运行的Web用户保持一致
  • 若仍报错,检查对应PHP版本的php.ini配置,确认cgi.fix_pathinfo = 1

内容的提问来源于stack exchange,提问作者Anselme SERI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 03:45:07