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的属性时,它向我显示已选中的只读框,即使我取消选中它,然后允许它更新所有文件和子文件夹,当我回头看它所说的属性只读了一次。
答案 0 :(得分:1)
答案似乎是我在htdocs文件夹中有一个旧的实验性.htaccess文件。在Windows XP下,该文件显然已被忽略,但现在在Windows 8.1上正在使用和干扰。
答案 1 :(得分:0)
形成我的理解, index.php是一个通常位于htdocs文件夹中的文件。此文件(未更改时,即在全新安装的xampp中)将您重定向到xampp主屏幕。 你尝试输入我提到的链接了吗? 2.如果是,那么这通常是Xampp改变的安全策略的一个例子,假设在升级到Windows 8.1时你也将xampp升级到更新的版本。
如果你在我提到的第二步,请点击这个链接。
如果这些都不适合您,请更新我。
答案 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 。)