【问题标题】:PHP - Silverstripe - htaccess throwing a 500PHP - Silverstripe - htaccess 抛出 500
【发布时间】:2011-11-27 10:07:42
【问题描述】:

我正在安装 PHP SilverStripe,我的本地环境可以正常处理我的 .htaccess 文件,但我的测试服务器在以下内容上抛出 500 错误。我不知道它可能是什么(因为我通常使用 ASP.NET)。你们能帮我指出潜在的问题吗?

### SILVERSTRIPE START ###
<Files *.ss>
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Files>

<Files web.config>
    Order deny,allow
    Deny from all
</Files>

ErrorDocument 404 /assets/error-404.html
ErrorDocument 500 /assets/error-500.html

<IfModule mod_alias.c>
    RedirectMatch 403 /silverstripe-cache(/|$)
</IfModule>

<IfModule mod_rewrite.c>
    SetEnv HTTP_MOD_REWRITE On
    RewriteEngine On
    RewriteBase /thesitename

    RewriteCond %{REQUEST_URI} ^(.*)$
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule .* sapphire/main.php?url=%1&%{QUERY_STRING} [L]
</IfModule>
### SILVERSTRIPE END ###

【问题讨论】:

  • 逐行注释并测试它是否有效。此外,请查看服务器日志。
  • +1,500 错误通常会在日志中留下一些内容。如果你在 Apache 上,他们在 /var/log/error.log
  • @Rijk Apache 日志位于您配置的任何位置。不同的 linux 发行版使用不同的位置,Windows 甚至没有名为 /var 的目录。仅仅因为它们在你的机器上并不意味着它们在每个安装中都存在......
  • SilverStripe 是否位于本地和测试服务器安装的同一子文件夹中?如果 SilverStripe 安装在测试服务器的根目录中,您应该将“RewriteBase /thesitename”更改为“RewriteBase /”。
  • 如果您将AllowOverride FileInfo 设置为允许.htaccess 更改,请查看您的apache 配置(例如httpd.conf)...

标签: php apache .htaccess silverstripe


【解决方案1】:

尝试注释掉重写基线,或者如果您的测试服务器安装在子目录中,请将其更改为该目录;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    • 2017-12-24
    • 1970-01-01
    相关资源
    最近更新 更多