2017-12-15 16 views
0

ディレクトリE:\development\projects\内の任意のプロジェクトに簡単にアクセスできるローカル開発サーバーをセットアップしようとしていて、自動的に正しいサブドメインにリダイレクトされます。httpd-vhosts.confを使用してサブドメインからサブサブドメインにリダイレクトできない

サブドメイン(backend.project01.dev01)にリダイレクトしようとすると、単に「サーバーに到達できません」というメッセージが表示されます。一言で言えば

NameVirtualHost *:80 

<VirtualHost *:80> 
    ServerName dev01 
    ServerAlias www.dev01 
    DocumentRoot "E:\development\projects" 
    ErrorLog "logs\errors.log" 
    <directory "E:\development\projects"> 
    </directory> 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName dev01 
    ServerAlias *.dev01 
    VirtualDocumentRoot "E:\development\projects\%1" 
    ErrorLog "logs\errors.log" 
    <directory "E:\development\projects\%1"> 
    </directory> 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName dev01 
    ServerAlias *.*.dev01 
    VirtualDocumentRoot "E:\development\projects\%2" 
    ErrorLog "logs\errors.log" 
    <directory "E:\development\projects\%2"> 
    </directory> 
</VirtualHost> 

は、より多くの情報のための私のhttpd-vhosts.confを参照してください

この作品は: project01.dev01/

これは動作しません: backend.project01.dev01/

+0

[this](this:https://beginnersbook.com)[this](https://stackoverflow.com/questions/31186078/htaccess-how-to-url-rewrite-a-sub-subdomain)/2013/08/redirecting-from-subdirectory-to-subdomain-using-htaccess /)---- –

+0

@ SUB-HDR「RewriteEngine」を使用する方が簡単ですが、新しいプロジェクトを開始するたびに新しい/カスタムの '.htaccess'ファイルを作成する必要がありません。あなたが提供した回答は、グローバルレベルではなく、ローカルレベルで私を助けてくれます。 –

+0

あなたはここでもっと読むことができます:https://httpd.apache.org/docs/trunk/vhosts/examples.htmlこれも見てください:[ここ](https://serverfault.com/questions/670753/two- https-virtualhosts-on-same-server-same-port-different-subdomains)または[ここ](https://httpd.apache.org/docs/2.4/vhosts/name-based.html)----- –

答えて

1

私は解決策を見つけました。サブサブドメインと一致させるには、レベルdeepestを最初に一致させる必要があります。

例:この例では一致しdeepest.sub.domain

sub.domain前の答えは次のとおりです。 *.*.dev01にマッチし、それが失敗した場合、一致しようとするには、この例ではApacheは常に 最初の試みで

NameVirtualHost *:80 

<VirtualHost *:80> 
    ServerName dev01 
    DocumentRoot "E:\development\projects" 
    ErrorLog "logs\errors.log" 
    <directory "E:\development\projects"> 
    </directory> 
</VirtualHost> 

## moved this up 
<VirtualHost *:80> 
    ServerName dev01 
    ServerAlias *.*.dev01 
    VirtualDocumentRoot "E:\development\projects\%2" 
    ErrorLog "logs\errors.log" 
    <directory "E:\development\projects\%2"> 
    </directory> 
</VirtualHost> 

## moved this down 
<VirtualHost *:80> 
    ServerName dev01 
    ServerAlias *.dev01 
    VirtualDocumentRoot "E:\development\projects\%1" 
    ErrorLog "logs\errors.log" 
    <directory "E:\development\projects\%1"> 
    </directory> 
</VirtualHost> 

*.dev01

これは今後他の人に役立つことを願っています。

関連する問題