[英]Apache 403 (Forbidden) on subdirectory on Windows
所以昨天我在Windows 8计算机上安装了Apache 2.2,PHP 5.3和MySQL。 我在两个文件上都使用了相同的vhost / .htaccess文件,但它在Mac和Windows上均无法使用。 基本上,当我转到“ mysite.dev”时,它将呈现网站的主页,但是一旦我转到任何页面,例如“ mysite.dev/about/”,我都会收到403禁止错误。
我已经验证Apache在我的计算机上作为“系统”运行,然后确保从用户文件夹到根目录的所有权限都被设置为用户/组系统的“完全访问”。
我已经尝试了很多事情,但无法弄清楚它,而且很烦人。 无论如何,我已经在所有设置/日志下面发布了。 提前致谢。
虚拟主机:
<VirtualHost *:80>
ServerAdmin MyEmail@gmail.com
DocumentRoot "C:/Users/Michael/Dropbox/Sites/onmytv"
ServerName onmytv.dev
ServerAlias www.onmytv.dev
<Directory "C:/Users/Michael/Dropbox/Sites/onmytv">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>
的.htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/index.php/$1 [L]
网页上显示的错误:
Forbidden
You don't have permission to access /C:/Users/Michael/Dropbox/Sites/onmytv/index.php/about/ on this server.
error.log中
[error] [client 127.0.0.1] (20023)The given path was above the root path: Cannot map GET /about/ HTTP/1.1 to file
access.log的
127.0.0.1 - - [02/Nov/2012:17:57:17 -0400] "GET /about/ HTTP/1.1" 403 256
解决方案是更改.htaccess文件中的以下内容
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/index.php/$1 [L]
至
RewriteRule ^(.*)$ index.php/$1 [L]
感谢@Svetlio提供有用的评论:)
用这个:
<VirtualHost *:80>
ServerAdmin MyEmail@gmail.com
DocumentRoot "C:/Users/Michael/Dropbox/Sites/onmytv"
ServerName onmytv.dev
ServerAlias www.onmytv.dev
<Directory "C:/Users/Michael/Dropbox/Sites/onmytv">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order Deny,Allow
Allow from all
Require all granted
</Directory>
</VirtualHost>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.