使用SilverStripe 3.1中的htaccess进行子域的500内部服务器错误

时间:2015-04-11 09:03:44

标签: .htaccess subdomain silverstripe internal-server-error

我收到子域的500服务器错误。它在安装SilverStripe 3之前工作得很好。在SilverStripe安装创建的默认.htaccess中是否需要进行任何修改?

2 个答案:

答案 0 :(得分:3)

这个答案从你的问题做了一些假设。

这些假设是

  • 您的SilverStripe网站是根网站(例如http://www.example.com
  • 您的SilverStripe代码位于根网站目录中(例如/public_html
  • 您的子域代码位于根网站目录的子文件夹中(例如/public_html/sub

在上述情况下可能出现的问题是子域可能会使用/public_html/.htaccess文件并使用其mod_rewrite规则。

要解决此问题,我们可以使用以下代码在子域(.htaccess)中创建/public_html/sub/.htaccess文件:

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

这将告诉服务器不要使用mod_rewrite规则或根.htaccess文件的基础。

另一种解决方案可能是不将子域代码放在根网站目录的子文件夹中。您可以在根级别创建一个文件夹,例如/sub,并让您的子域指向那里。

答案 1 :(得分:0)

感谢每一位人士的支持,但我遵循不同的方法。 我已经从cpanel创建了子域,但是选择了相同的根文件夹而不是创建新目录 我从这里得到了帮助。 https://forums.cpanel.net/threads/domain-redirecting-to-cgi-sys-defaultwebpage-cgi.139597/page-3#post-656642