0

所以昨天我在我的 Windows 8 机器上安装了 Apache 2.2、PHP 5.3 和 MySQL。我在两者上都使用相同的 vhost / .htaccess 文件,但它适用于我的 Mac 而不是 Windows。基本上,当我转到“mysite.dev”时,它会呈现该站点的主页,但是一旦我转到任何页面,例如“mysite.dev/about/”,我就会收到 403 禁止错误。

我已验证 Apache 在我的计算机上作为“系统”运行,然后确保从站点文件夹到 root 的所有权限都设置为用户/组系统的完全访问权限。

我已经尝试了很多东西,但无法弄清楚这一点,而且相当烦人。无论如何,我已在所有设置/日志下方发布。先谢谢了。

虚拟主机:

<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>

.ht 访问:

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] [client 127.0.0.1] (20023)The given path was above the root path: Cannot map GET /about/ HTTP/1.1 to file

访问日志

127.0.0.1 - - [02/Nov/2012:17:57:17 -0400] "GET /about/ HTTP/1.1" 403 256
4

2 回答 2

3

解决方案是在 .htaccess 文件中更改以下内容

RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/index.php/$1 [L]

RewriteRule ^(.*)$ index.php/$1 [L]

感谢@Svetlio 的有用评论:)

于 2012-11-02T22:43:55.470 回答
2

用这个:

<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>
于 2012-11-11T10:34:38.830 回答