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

Cpanel中通过.htaccess将主域名重定向到文件夹时index.php被下载

问题根源

访问域名时PHP文件被直接下载,本质是Apache没有将目标文件传递给PHP模块解析,直接作为静态资源返回,该问题由你当前的重定向规则逻辑漏洞导致:现有规则仅将根路径请求映射到foldername/public/index.php的物理文件路径,没有触发public目录下的解析规则,同时缺少PHP文件处理声明。

修复步骤
  1. 替换根目录的.htaccess规则为如下内容,统一将所有主域名请求重定向到public目录:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.com$
RewriteCond %{REQUEST_URI} !^/foldername/public/
RewriteRule ^(.*)$ /foldername/public/$1 [L]
  1. 在foldername/public/目录下新增.htaccess文件,添加PHP解析声明与框架默认重写规则:
<IfModule mod_rewrite.c>
    RewriteEngine On

    # 强制PHP文件交给解析器处理,避免直接下载
    <FilesMatch \.php$>
        SetHandler application/x-httpd-php
    </FilesMatch>
    AddType application/x-httpd-php .php .php5

    # 常规入口文件重写规则(适配大部分PHP框架)
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>
  1. 排查Apache基础配置确保规则生效:
  • 执行apache2ctl -M确认已启用rewrite_module与对应版本的php_module
  • 确认站点VirtualHost配置中AllowOverride参数设置为All,否则.htaccess规则不会被加载
  • 修改配置后重启Apache服务生效

内容的提问来源于stack exchange,提问作者Priya Goud

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 05:06:00