1. ホーム
  2. apache

[解決済み] VirtualHostの追加に失敗する。Access Forbidden Error 403 (XAMPP) (Windows 7)

2022-04-22 01:50:45

質問

Windows 7でXAMPPをインストールしています。

httpd-vhosts.conf に VirtualHost を追加するとすぐに、BOTH 'regular' の VirtualHost が停止します。 http://localhost と新しい dropbox.local が動作しない。

これは、私が追加した httpd-vhosts.conf :

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "E:/Documenten/Dropbox/Dropbox/dummy-htdocs"
    ServerName dropbox.local
    ServerAlias www.dropbox.local
    ErrorLog "logs/dropbox.local-error.log"
    CustomLog "logs/dropbox.local-access.log" combined
</VirtualHost>

そこで、私は自分の dropbox.local-error.log をご覧ください。

[Thu Feb 02 10:41:57 2012] [error] [client 127.0.0.1] client denied by server configuration: E:/Documenten/Dropbox/Dropbox/dummy-htdocs/

を追加すると、このエラーは解決するようです。

<directory "E:/Documenten/Dropbox/Dropbox/dummy-htdocs">
     Allow from all
</directory>

しかし、今、私はこのエラーを dropbox.local-error.log :

[Thu Feb 02 10:45:56 2012] [error] [client ::1] Directory index forbidden by Options directive: E:/Documenten/Dropbox/Dropbox/dummy-htdocs/

さらに http://localhost というエラーは発生しません。 error.log が表示されますが error 403 にアクセスしようとすると

誰か助けてください・・・。気が狂いそうです:S

EDIT また httpd.conf があります(複数回言及されているのを見たので、誰かが言う前に)。

<IfModule dir_module>
    DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \
                   default.php default.pl default.cgi default.asp default.shtml default.html default.htm \
                   home.php home.pl home.cgi home.asp home.shtml home.html home.htm
</IfModule>

解決方法は?

なるほど。これは私が今やったことで、解決したことです。

私の httpd-vhosts.conf は今こんな感じです。

<VirtualHost dropbox.local:80>
    DocumentRoot "E:/Documenten/Dropbox/Dropbox/dummy-htdocs"
    ServerName dropbox.local
    ErrorLog "logs/dropbox.local-error.log"
    CustomLog "logs/dropbox.local-access.log" combined
    <Directory "E:/Documenten/Dropbox/Dropbox/dummy-htdocs">
        # AllowOverride All      # Deprecated
        # Order Allow,Deny       # Deprecated
        # Allow from all         # Deprecated

        # --New way of doing it
        Require all granted    
    </Directory>
</VirtualHost>

まず、このような場合は <Directory xx:xx> オプションがあります。そこで、私は <Directory > [..] </Directory> -の内側にある <VirtualHost > [..] </VirtualHost> . その後に AllowOverride AuthConfig Indexes<Directory> オプションで指定します。

現在 http://localhost もdropbox-virtualhostを指しています。そこで dropbox.local<VirtualHost *:80> となり <VirtualHost dropbox.local:80>

やっと動いた :D!

私は幸せ者です! :) :)

この情報を誰かに使ってもらえたらと思います。