2012-03-04 5 views
0

良い時刻! 私はWindows 7でapache + phpをうまく使いましたが、今はいくつかの仮想ホストを作ることにしました。私はApacheの設定の最後にこのセクションを追加しました:Windows 7でapache2の仮想ホストを設定できません - 403エラーを返します

<virtualhost> 
ServerAdmin [email protected] 
ServerName jiifirst 
DocumentRoot "c :/ apache2/web/jiifirst/htdocs" 
ScriptAlias ​​/ cgi-bin/"c :/ apache2/web/jiifirst/cgi-bin /" 
ErrorLog c :/ apache2/web/jiifirst/logs/error.log 
CustomLog c :/ apache2/web/jiifirst/logs/access.log common 
</ virtualhost> 

次に、適切なフォルダを作成しました。私が呼び出すしようしかしときhttp://127.0.0.2/test.php このようなエラーが表示されます。

エラーあなたがこのサーバー上の/ test.phpをにアクセスする権限がありません を禁止します。

同時に私は問題なくlocalhostにアクセスできます。私はまた、フォルダの権利を変更しました。この問題を解決するにはどのような変更を行うべきですか?

+0

Apache。 Windows 7.応答はありません。驚いた? – Kaz

+0

私はそんなにびっくりしました! –

答えて

0

まず、構成内のすべてのスペースは何ですか?例えば。 "c :/ apache2/web/jiifirst/htdocs"。それはあなたの本当の設定ではありません。どのようにこれをカットアンドペーストしましたか?

第2に、サーバーとはhttp://127.0.0.2と話しています。はい、サーバーのIPアドレスですが、HTTP(少なくとも1.1以降)では、アドレスはマシン上のネットワークカードを特定するだけではありません。これはWebサイトドメインを識別します。アドレスはになり、プロトコルはになり、Webサーバーは(同じIPアドレスの)クライアントに提供するWebサイトを決定できます。

VirtualHostは、ドメイン名がjiifirstのWebサイトを定義しています。これは、IPベースのアクセス127.0.0.2と一致しません。

ただし、とにかくVirtualHostと一致することがあります。あなたのVirtualHostは、アドレスとポートマッチフィールドが欠落しているが、それはこのようなものを見える場合:

<VirtualHost *:80> 

それはApacheができない場合VirtualHostがポート80に任意のアドレスからIPベースの要求に合致することが可能だということを意味しますVirtualHostのエントリの中でホスト名と完全に一致するものを見つけたら(特別なデフォルトのVirtualHostはありません)、アドレスの一致が見える順に最初のホストを選択します。

<VirtualHost>にアドレスがないと、状況が起こっていない理由がある可能性があります(実際には実際の場合は空白になる可能性があります)。

0

私の問題の真の解決策は、

オプションFollowSymLinksを AllowOverrideのなし 注文は は、私はすべての から許可するすべてから拒否に変更しなければならなかったすべての

から拒否できるように、拒否セクションにありました今はすべてがうまくいく!

関連する問題