当前位置:网站首页 >  攻略

EyouCMS伪静态代码常见报错排查及全场景修复实操指南

时间:2026年05月23日 10:03:59 来源:易频IT社区

第一步:明确核心前提——确认3个前置条件

很多EyouCMS伪静态报错,根本不是代码的问题,而是下面3个硬性前置条件没满足,先逐个排查:

  • 前置1:检查主机是否支持伪静态
    如果是Nginx主机,进入宝塔/主机面板→软件商店→Nginx→设置→伪静态,看是否有默认规则选项;如果是Apache,检查根目录是否有.htaccess权限(Linux设755,Windows默认可读写),主机是否加载mod_rewrite模块(进入phpinfo()页面搜apache2handler,Loaded Modules里找mod_rewrite)。
  • 前置2:后台开启伪静态开关
    登录EyouCMS后台→系统基本参数设置核心设置伪静态→勾选开启伪静态,静态后缀默认.html即可,点击保存
  • 前置3:清空所有缓存
    登录后台→右上角清除缓存→全选所有缓存项→点击开始清除;如果是CDN/云WAF,也要额外在对应面板清除全站缓存。

第二步:常见主机场景的完整伪静态代码配置

前置条件都满足后,直接复制对应主机的完整、可直接生效的代码:

场景1:宝塔Nginx面板

操作步骤:进入宝塔→软件商店→Nginx→设置→伪静态→选择当前绑定的EyouCMS站点→清空原有代码→粘贴下面的代码→点击保存

```nginx if (!-e $request_filename) { rewrite ^(.)$ /index.php?s=$1 last; break; } ```

注意:如果EyouCMS安装在子目录(比如根目录下的eyoucms文件夹),代码改成:

```nginx location /eyoucms { if (!-e $request_filename) { rewrite ^/eyoucms/(.)$ /eyoucms/index.php?s=$1 last; break; } } ```

场景2:Apache主机(.htaccess)

操作步骤:用FTP/宝塔文件管理器进入EyouCMS根目录→新建/编辑.htaccess文件→粘贴下面的代码→保存(Linux设权限755,Windows无需改)。

```apache RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.)$ index.php?s=$1 [QSA,PT,L] ```

子目录安装的Apache代码(比如eyoucms子目录):

```apache RewriteEngine On RewriteBase /eyoucms RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.)$ /eyoucms/index.php?s=$1 [QSA,PT,L] ```

场景3:IIS主机(web.config)

操作步骤:用FTP/宝塔文件管理器进入EyouCMS根目录→新建/编辑web.config文件→粘贴下面的代码→保存。

```xml ```

第三步:高频报错的针对性快速修复

如果配置完还是报错,按下面高频场景逐个排查修复:

报错1:首页正常,内页404/500

  • 原因1.1:Apache/IIS的伪静态模块未生效
    修复:Apache再次检查phpinfo()里的mod_rewrite是否Loaded;IIS检查是否安装URL Rewrite Module(下载地址:https://www.iis.net/downloads/microsoft/url-rewrite,选对应IIS版本的x86/x64安装包)。
  • 原因1.2:后台伪静态规则未更新
    修复:登录后台→系统URL规则管理→点击右上角同步规则→再次全选清除缓存。
  • 原因1.3:Nginx站点配置里没加root指令
    修复:进入宝塔→网站→设置→配置文件→找到server块→确认root后面是EyouCMS的绝对根目录路径(比如/www/wwwroot/yourdomain.com),保存后重载Nginx。

报错2:打开页面显示“No input file specified”

  • 原因2.1:PHP版本过高
    修复:EyouCMS目前稳定支持PHP7.2-8.1,进入宝塔→网站→设置→PHP版本→切换到7.4/8.0,保存后重载PHP-FPM。
  • 原因2.2:Nginx代码里缺少s参数
    修复:检查Nginx伪静态代码,是否严格写成/index.php?s=$1,不要写成/index.php/$1(Apache/IIS同理,但大部分兼容)。
  • 原因2.3:PHP配置里cgi.fix_pathinfo设为0
    修复:进入宝塔→软件商店→PHP7.4/8.0→设置→配置文件→搜索cgi.fix_pathinfo→改为1→保存后重载PHP-FPM。

报错3:开启伪静态后静态资源(CSS/JS/图片)加载失败

  • 原因3.1:模板里的资源路径是相对路径
    修复:把模板里所有的