0

httpd-vhosts.confファイルを次のように構成しました。

<VirtualHost seg.localhost:81>
    ServerAdmin my@email.com
    DocumentRoot "D:\path\to\public_html"
    ServerName http://seg.localhost
    ServerAlias http://seg.localhost
    ErrorLog "logs/seg.log"
    CustomLog "logs/seg" common
    <directory "D:\path\to\public_html">
        Options Indexes FollowSymLinks
        AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from all
    </directory>
</VirtualHost>

しかしhttp://localhost:81/、ブラウザにアクセスすると、まだそのフォルダにアクセスしています。サブドメインが無視されるのはなぜですか?

4

1 に答える 1

2

名前ベースの vhost を使用している場合、最上位の vhost (<VirtualHost>ブロックの最初のインスタンス) が「デフォルト」<VirtualHost>のvhostと見なされます。 、一番上のものが使用されます。

すべてを単純に拒否する新しい仮想ホストを最上位に追加することで、これを回避できます。

<VirtualHost seg.localhost:81>
   ServerName _default_
   DocumentRoot "D:\path\to\public_html"
   <Directory "D:\path\to\public_html">
      Order Allow,Deny
      Deny from all
   </Directory>
</VirtualHost>

または、seg.localhost にリダイレクトするか、処理したい方法で行います。

于 2012-09-12T06:13:16.483 に答える