在本地主机上设置 Apache 时出现 500 内部服务器错误

在本地主机上设置 Apache 时出现 500 内部服务器错误

我下载并安装了 XAMPP,为了将我的项目很好地分开,我想根据其未来的域名为每个项目创建一个 VirtualHost。例如,在我的第一个项目中(我们称之为project.com),我将其放在我的 Apache 配置中:

NameVirtualHost 127.0.0.1

<VirtualHost 127.0.0.1:80>
DocumentRoot C:/xampp/htdocs/
ServerName localhost
ServerAdmin admin@localhost
</VirtualHost>

<VirtualHost 127.0.0.1:80>
DocumentRoot C:/xampp/htdocs/sub/
ServerName sub.project.com
ServerAdmin [email protected]
</VirtualHost>

<VirtualHost 127.0.0.1:80>
DocumentRoot C:/xampp/htdocs/project/
ServerName project.com
ServerAdmin [email protected]
</VirtualHost>

我的 hosts 文件中有以下内容:

# development
127.0.0.1 localhost
127.0.0.1 project.org
127.0.0.1 sub.project.org

当我在浏览器中转到 时project.com,项目成功加载。如果我转到 ,情况也是如此sub.project.com。但是,如果我导航到:(http://project.com/register我的网站页面之一),我会收到此错误:

Internal Server Error

The server encountered an internal error or misconfiguration and was
unable to complete your request.

错误日志显示:

[Sun May 20 02:05:54 2012] [error] [client 127.0.0.1] Request exceeded
the limit of 10 internal redirects due to probable configuration
error. Use 'LimitInternalRecursion' to increase the limit if
necessary. Use 'LogLevel debug' to get a backtrace., referer:
http://project.com/

Sun May 20 02:05:54 2012] [error] [client
127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase
the limit if necessary. Use 'LogLevel debug' to get a backtrace.,
referer: http://project.com/

知道我哪些配置项出错了吗,或者如何让它正常工作?它发生在不在根目录中的任何页面上project.com。谢谢。

答案1

正如错误消息所示,根文件夹、DocRoot 文件夹或其中一个子文件夹的 .htaccess 文件中存在错误的 RewriteCond/RewriteRule 重定向。

它正在自我循环,经过 10 次内部重定向后,Apache 会终止它以保护该进程。

答案2

您的文档根目录重叠。例如,文件 C:/xampp/htdocs/sub/index.php 将成为您的前两个 vhost 的一部分。尝试:

DocumentRoot C:/xampp/htdocs/default/
DocumentRoot C:/xampp/htdocs/sub/
DocumentRoot C:/xampp/htdocs/project/

相关内容