xampp Windows 8.1(20023)给定路径位于根路径之上

时间:2014-12-01 15:04:31

标签: php apache permissions xampp windows-8.1

Windows版本:Windows 8 Pro 64位 XAMPP版本:5.5.19

我刚刚将XAMPP上的本地系统从Windows XP计算机移动到Windows 8.1。 在原始系统上,如果我浏览到http://localhost/w/index.php/Home,' / Home'传递到index.php文件,该文件等同于'?title = Home',但在浏览器显示的新系统上:

Access forbidden!

You don't have permission to access the requested object. It is either read-protected or not readable by the server.

If you think this is a server error, please contact the webmaster.

Error 403
localhost
Apache/2.4.10 (Win32) OpenSSL/1.0.1i PHP/5.5.19 

在Apache(error.log)中,我看到了:

[core:error] [pid ...:tid ...] (20023)The given path was above the root path: [client ::1:...] AH00127: Cannot map GET /w/index.php/Home HTTP/1.1 to file

' /主页'它不是一个文件,它应该被传递给index.php

感谢您的帮助;我对.conf文件不太熟悉,无法理解可能导致错误的原因。

编辑(回复Rhythem Aggarwal):

直接转到localhost /也会Access forbidden!。和 [core:error] [pid 3408:tid 1732] (20023)The given path was above the root path: [client ::1:52491] AH00127: Cannot map GET / HTTP/1.1 to file

虽然转到http://localhost/w/index.php?title=Home工作正常。

我尝试添加到httpd-xampp.conf:

<Directory "C:/xampp/htdocs"> Options Indexes FollowSymLinks MultiViews AllowOverride all Order Deny,Allow Allow from all Require all granted </Directory>

根据Xampp Access Forbidden php的其他答案,但没有任何变化。

再编辑以显示XAMPP显示:

Initializing Control Panel
18:00:36  [main]    Windows Version: Windows 8 Pro  64-bit
18:00:36  [main]    XAMPP Version: 5.5.19
18:00:36  [main]    Control Panel Version: 3.2.1  [ Compiled: May 7th 2013 ]
18:00:36  [main]    Running with Administrator rights - good!
18:00:36  [main]    XAMPP Installation Directory: "c:\xampp\"
18:00:36  [main]    Checking for prerequisites
18:00:36  [main]    All prerequisites found
18:00:36  [main]    Initializing Modules
18:00:36  [main]    Enabling autostart for module "Apache"
18:00:36  [main]    Enabling autostart for module "MySQL"
18:00:36  [main]    Starting Check-Timer
18:00:36  [main]    Control Panel Ready
18:00:36  [Apache]  Autostart active: starting...
18:00:36  [Apache]  Attempting to start Apache app...
18:00:36  [mysql]   Autostart active: starting...
18:00:36  [mysql]   Attempting to start MySQL app...
18:00:37  [Apache]  Status change detected: running
18:00:37  [mysql]   Status change detected: running
18:09:27  [Apache]  Attempting to stop Apache (PID: 2928)
18:09:27  [Apache]  Attempting to stop Apache (PID: 2432)
18:09:28  [Apache]  Status change detected: stopped
18:09:31  [Apache]  Attempting to start Apache app...
18:09:31  [Apache]  Status change detected: running

另一个编辑:

当我在Windows 8.1文件管理器中查看c:\ xampp \ htdocs的属性时,它向我显示已选中的只读框,即使我取消选中它,然后允许它更新所有文件和子文件夹,当我回头看它所说的属性只读了一次。

3 个答案:

答案 0 :(得分:1)

答案似乎是我在htdocs文件夹中有一个旧的实验性.htaccess文件。在Windows XP下,该文件显然已被忽略,但现在在Windows 8.1上正在使用和干扰。

答案 1 :(得分:0)

形成我的理解, index.php是一个通常位于htdocs文件夹中的文件。此文件(未更改时,即在全新安装的xampp中)将您重定向到xampp主屏幕。 你尝试输入我提到的链接了吗? 2.如果是,那么这通常是Xampp改变的安全策略的一个例子,假设在升级到Windows 8.1时你也将xampp升级到更新的版本。

如果你在我提到的第二步,请点击这个链接。

Xampp Access Forbidden php

如果这些都不适合您,请更新我。

答案 2 :(得分:0)

  

eth 已经说过了:答案似乎是我在htdocs文件夹中有一个旧的实验性.htaccess文件。在Windows XP下,该文件显然已被忽略,但现在在Windows 8.1上正在使用和干扰。

尝试使用以下代码,将其添加到httpd-xampp.conf文件中:

<Directory "C:/xampp/htdocs/">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Order Deny,Allow
        Allow from all
        Require all granted
</Directory>

希望这会对你有所帮助。 (感谢 Tho Vo 。)