3

動的vHostをセットアップしようとしていますが、問題が発生しました。複数のServerAliasを設定することはできません。

<VirtualHost *:80>
        ServerAlias *.com
        ServerAdmin michael.ian.curry@gmail.com
        VirtualDocumentRoot /var/www/%1/production/html
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        LogLevel warn
</VirtualHost>

上記のvHostは「.com」でのみ機能します。「www」で機能する必要があります。.com'および'*.com'ServerAliasを設定すると修正されると思いましたが、機能していません。

ServerAlias *.com www.*.com

何か洞察があれば、返信してください

--MichaelCurry

==編集1==

redcrusher.comとwww.redcrusher.comの例

==編集2==

以下のコードも機能しません

ServerAlias www.*.com *.com
4

2 に答える 2

14

理解した!

「www。*。com」は「*.com」の前に実行する必要があります。これは、ServerAliasが動的ドメインを設定しており、「小さい」エイリアスが存在する前に存在する必要があるためです。

例:'www。*。com'、'dev。*。com'、'asdf。*。com'THEN'* .com'

vHostファイル[production.conf]:

<VirtualHost *:80>
    ServerAlias www.*.com
    VirtualDocumentRoot /var/www/%2/production/html
    ServerAdmin michael.ian.curry@gmail.com
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    LogLevel warn
</VirtualHost>

<VirtualHost *:80>
    ServerAlias *.com
    VirtualDocumentRoot /var/www/%1/production/html
    ServerAdmin michael.ian.curry@gmail.com
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    LogLevel warn
</VirtualHost>

これがこの問題を抱えている他の人に役立つことを願っています!

--MichaelCurry

于 2013-02-05T08:01:27.007 に答える
4

このように使用する必要があります

ServerAlias www.domain.com domain.com
ServerAlias *.domain.com

そのように使用したい場合は、順序に従う必要があります

ServerAlias www.*.com *.com 

問題は

VirtualDocumentRoot /var/www/%1/production/html

動的VirtualDocumentRootを使用します。

redcrusher.comのVirtualDocumentRootは

/var/www/redcrusher/production/html

www.redcrusher.comの場合、VirtualDocumentRootは

/var/www/www.redcrusher/production/html

ServerAliasを3つの部分に分割すると解決すると思います

ServerAlias www.*.com
VirtualDocumentRoot /var/www/%1/production/html/
ServerAlias *.*.com
VirtualDocumentRoot /var/www/%2/production/html/%1 
ServerAlias *.com 
VirtualDocumentRoot /var/www/%1/production/html

私はうまくいくはずだと思います

VirtualDocumentRoot:

redcrusher.com

/var/www/redcrusher/production/html

www.redcrusher.com

/var/www/redcrusher/production/html/

sub.redcrusher.com

/var/www/redcrusher/production/html/sub
于 2013-02-05T05:48:32.990 に答える