我到处寻找改变Apache上的DocumentRoot无济于事

时间:2014-09-23 05:18:49

标签: windows apache apache2 http-status-code-403 document-root

我不知道我做错了什么,但我不能用Apache更改我的localhost文件的目录。我用httpd.conf尝试了各种各样的事情,包括将“Order allow,deny”更改为"Require all granted"。它仍然无法正常工作。

我正在运行Windows 7 64位,我正在努力让Apache工作,但到目前为止所有解决方案都没有帮助我更改DocumentRoot,因为错误403。

以下是httpd.conf

以下是自最新服务重启以来的错误日志

The Apache2.4 service is restarting. The Apache2.4 service has restarted. m_winnt:notice [pid5304:tid 468] AH00424: Parent: Received restart signal -- Restarting the server.
[Mon Sep 22 22:37:25.315061 2014] [ssl:warn] [pid 5304:tid 468] AH01909: localhost:443:0 server certificate does NOT include an ID which matches the server name
[Mon Sep 22 22:37:25.315061 2014] [mpm_winnt:notice] [pid 5304:tid 468] AH00455: Apache/2.4.10 (Win32) OpenSSL/1.0.1h configured -- resuming normal operations
[Mon Sep 22 22:37:25.315061 2014] [mpm_winnt:notice] [pid 5304:tid 468] AH00456: Apache Haus VC9 Server built: Jul 15 2014 20:34:18
[Mon Sep 22 22:37:25.315061 2014] [core:notice] [pid 5304:tid 468] AH00094: Command line: 'C:\\Apache24\\bin\\httpd.exe -d C:/Apache24'
[Mon Sep 22 22:37:25.317061 2014] [mpm_winnt:notice] [pid 5304:tid 468] AH00418: Parent: Created child process 3648
[Mon Sep 22 22:37:26.075104 2014] [ssl:warn] [pid 3648:tid 344] AH01909: localhost:443:0 server certificate does NOT include an ID which matches the server name
[Mon Sep 22 22:37:26.265115 2014] [mpm_winnt:notice] [pid 6612:tid 348] AH00364: Child: All worker threads have exited.
[Mon Sep 22 22:37:26.372121 2014] [ssl:warn] [pid 3648:tid 344] AH01909: localhost:443:0 server certificate does NOT include an ID which matches the server name
[Mon Sep 22 22:37:26.375121 2014] [mpm_winnt:notice] [pid 3648:tid 344] AH00354: Child: Starting 64 worker threads.
[Mon Sep 22 22:43:06.157556 2014] [autoindex:error] [pid 3648:tid 1052] [client ::1:53336] AH01276: Cannot serve directory C:/Apache24/htdocs/: No matching DirectoryIndex (index.html) found, and server-generated directory index forbidden by Options directive

2 个答案:

答案 0 :(得分:1)

这样的配置应该有效:

DocumentRoot "C:/www"
<Directory "C:/www">
  Options Indexes FollowSymLinks MultiViews
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>

在对httpd.conf文件进行任何更改后,不要忘记重新启动服务器。我还会尝试临时删除位于.htaccess文件夹中的任何现有C:/www文件。

要检查配置文件的语法是否正确,请使用-t选项:

httpd -t

您还可以查看logs/error.log以更好地了解出现了什么问题。

<强>参考

Installing Apache 2.2 on Microsoft Windows

答案 1 :(得分:1)

首先更改httpd.conf文件

DocumentRoot "c:/www"
<Directory "c:/www">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

然后打开“\ conf \ extra \ httpd-vhosts.conf”文件。

<VirtualHost *:80>
    DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:\www"
</VirtualHost>

最后重新启动你的apache web服务器,你很高兴..