0

昨日、Windows8マシンにApache2.2、PHP 5.3、MySQLをインストールしました。両方で同じvhost/.htaccessファイルを使用していますが、WindowsではなくMacで動作します。基本的に、「mysite.dev」にアクセスするとサイトのホームページが表示されますが、「mysite.dev / about /」などのページにアクセスすると、403ForbiddenErrorが発生します。

Apacheがコンピューター上で「システム」として実行されていることを確認し、サイトフォルダーからルートへのすべてのアクセス許可がユーザー/グループシステムのフルアクセスに設定されていることを確認しました。

私は多くのことを試みましたが、これを理解することはできず、かなり厄介です。とにかく、私はすべての設定/ログの下に投稿しました。よろしくお願いします。

vhosts:

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

Webページに表示されるエラー:

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

access.log

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 に答える