2017-01-14 10 views
0

私のApache 2.4 Websever上で仮想ホストを作成しましたが、URLをロードしようとするとパスが間違っていることがあり、不明な理由でエラーが戻ってきます。私は今URLを呼び出していた場合Apache Virtualhost間違った宛先フォルダ

NameVirtualHost *:80 

<VirtualHost *:80> 
    DocumentRoot /var/www/test/ 
    ServerName test.com/ 

    <Directory /var/www/test/> 
      Options Indexes FollowSymLinks MultiViews 
      AllowOverride All 
    </Directory> 
</VirtualHost> 

"http://www.test.com/" or "www.test.com" 

すべて:

私は、ドメイン "test.com"

、私のサイトで利用可能/デフォルトを持っているが、このようになります。いいですが、たとえば "test.com"のように読み込もうとすると、サーバは私にリダイレクトされます

"test.com/test/" 

と404エラーが表示されます。私はなぜそれが私のようにいくつかのURLにリダイレクトしているのか分からない。

答えて

0

は、末尾にスラッシュ

ServerName test.com/ 
DocumentRoot /var/www/test/ 

を削除しようとすると、最後のスラッシュは、ドキュメントルートにtestサブディレクトリを指しているbecuaseあなたをリダイレクト

その

ServerName test.com 
DocumentRoot /var/www/test 

に変更します。

これは唯一のvhost設定です。以下は、今私がしようとしている場合、私はまだエラーを取得し、Apacheはイベント

+0

を処理する方法を知っているように、今あなたがしなければならないすべては、WWWを指定するには、サーバーの別名を追加しているApacheのドキュメント

<VirtualHost *:80> # This first-listed virtual host is also the default for *:80 ServerName www.example.com ServerAlias example.com DocumentRoot "/www/domain" </VirtualHost> 

からですtest.comがこのvhostの設定によって処理される明示的なサーバ名であるため、 "www/www"を使わないで "test.com/"をロードするには( – Steffen

+0

) 'DocumentRoot/var/www/test /'からスラッシュを削除してください。 'www.test.com'は他の仮想ホストの設定で定義されていない場合、' default'設定によって処理される可能性が最も高いです。 – nrm

+0

私のデフォルトの設定を次のように変更しました:NameVirtualHost *:80 のDocumentRootは/ var/www /のテスト ServerNameのtest.com <ディレクトリ/ var/www /のテスト> オプションのインデックスはFollowSymLinks MultiViewsを AllowOverrideのすべての の しかし、私はまだ 'WWW' の問題があり、デフォルトは唯一の設定です – Steffen

関連する問題