【问题标题】:Apache: The requested URL / was not found on this server. ApacheApache:在此服务器上找不到请求的 URL /。阿帕奇
【发布时间】:2014-01-08 21:38:03
【问题描述】:

我在 Windows XP SP3 上安装了 Apache 2.2 服务器和 PHP 5.3。初始安装后,Apache 加载了测试页面,即,

http:/localhost (C:/Program Files/Apache2.2/htdocs/index.html) 显示“它有效!”。

配置 Apache 并安装 PHP 后,尝试加载 http:/localhost/phptest.php 即 (C:/testsite/htdocs/phptest.php)。

但这会引发错误:

未找到。在此服务器上未找到请求的 URL /phptest.php。

我现在加载时也遇到同样的错误

http://localhost

httpd.conf 编辑:

ServerName localhost:80

DocumentRoot "C:/testsite/htdocs"

<Directory "C:/testsite/htdocs">
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

LoadModule php5_module "c:/testsite/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
AddHandler application/x-httpd-php .php
PHPIniDir "C:/testsite/php"

文件php.ini编辑:

include_path = ".;C:\testsite\php\includes"
extension_dir = "C:/testsite/php/ext/"

系统路径:

PHP 目录添加到 Windows 路径,例如

PATH=C:\Windows\System32;C:\many_dir;C:\testsite\php

Apache error.log 中的唯一错误是:

警告:DocumentRoot [C:/Program Files/Apache Software Foundation/Apache2.2 /docs/dummy-host.localhost] 不存在
警告:DocumentRoot [C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host2.localhost] 不存在
警告:DocumentRoot [C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host.localhost] 不存在
警告:DocumentRoot [C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host2.localhost] 不存在

Apache 服务重新启动成功并正在运行。我找不到任何不妥之处。谁能发现任何愚蠢的错误?

【问题讨论】:

    标签: php windows apache url http-status-code-404


    【解决方案1】:

    重要原因:

    • 如果您的.htaccess 是DOS 格式,请将其更改为UNIX 格式(在Notepad++ 中,单击Edit&gt;Convert
    • 如果您的 .htaccess 是 UTF8 -BOM,则将其设为WITH BOM。

    【讨论】:

      【解决方案2】:

      在 httpd.conf 文件中你需要删除 #

      #LoadModule rewrite_module modules/mod_rewrite.so
      

      删除 # 行后将如下所示:

      LoadModule rewrite_module modules/mod_rewrite.so
      

      Apache 重启

      【讨论】:

        【解决方案3】:

        我遇到了同样的问题,但信不信由你是区分大小写的情况。

        这在本地主机上: http://localhost/.../getdata.php?id=3

        在服务器上的行为与此不同: http://server/.../getdata.php?id=3

        将服务器 url 更改为此(注意 getData 中的大写 D)解决了我的问题。 http://localhost/.../getData.php?id=3

        【讨论】:

          【解决方案4】:

          尝试在您的 conf 中将 Deny from all 更改为 Allow from all,看看是否有帮助。

          【讨论】:

          • 将其更改为“全部允许”并重新启动 Apache。不幸的是仍然得到未找到的错误。
          • "apache2/other" 的多个 .conf 或同一文件的某些配置可能是问题
          猜你喜欢
          • 2012-04-17
          • 2019-03-15
          • 2023-03-30
          • 2014-11-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-03-21
          • 2010-10-16
          相关资源
          最近更新 更多