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

Silverstripe网站前台与后台均出现404错误求助

Silverstripe安装后首页及Admin面板404错误修复建议

以下是针对性的排查和修复步骤:

  • 检查服务器URL重写规则

    • Apache环境:确认mod_rewrite模块已启用,网站根目录下的.htaccess文件存在且未被修改破坏。可以临时在.htaccess顶部添加RewriteRule ^test$ test.html [L],然后访问yourdomain.com/test,如果能跳转到test.html,说明重写规则生效;否则需要调整服务器配置开启重写。
    • Nginx环境:确保站点配置中包含正确的路由转发规则,示例配置片段:
      location / {
          try_files $uri $uri/ /index.php?$query_string;
      }
      
      配置完成后重启Nginx服务。
  • 验证文件与目录权限

    • 确保Web服务器用户(如www-data、apache)对项目目录有读写权限,重点检查public(Silverstripe 4+)、assets、silverstripe-cache目录。可以用命令chown -R www-data:www-data /path/to/your/project设置权限(根据服务器实际用户调整)。
    • 确认index.php文件存在于网站根目录或public目录下,且可被服务器访问。
  • 核对Silverstripe核心配置

    • 打开.env文件(优先)或app/_config/config.yml,确认SS_BASE_URL的值与当前访问的域名/路径完全一致,格式示例:SS_BASE_URL="http://yourdomain.com",不要添加末尾斜杠。
    • 检查SS_ENVIRONMENT_TYPE设置,开发环境可设为dev,确保路由缓存不会被强制禁用。
  • 清除系统缓存

    • 手动删除项目根目录下的silverstripe-cache文件夹,或者通过命令行执行:
      php vendor/bin/sake dev/build flush=all
      
      强制刷新路由规则和配置缓存。
  • 排查服务器环境兼容性

    • 确认PHP版本符合当前Silverstripe版本要求(例如Silverstripe 5.x需要PHP 8.1及以上),可通过php -v命令查看版本。
    • 检查是否启用了必要的PHP扩展:mbstring、xml、json等,缺失扩展可能导致路由解析失败。
  • 测试基础访问

    • 直接访问http://yourdomain.com/index.php,如果能正常加载页面,说明问题集中在URL重写规则;如果仍显示404,需要检查服务器站点根目录配置是否指向正确的项目目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 05:22:10