0

サイトが有効なフォルダーに複数の vhosts を使用して Apache2 を実行しています。それぞれは次のようになります。

<VirtualHost *:80>
    ServerName site1.com
    ServerAlias www.site1.com

    DocumentRoot /home/sites/site1/www/
    <Directory /home/sites/site/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Order allow,deny
        allow from all
    </Directory>

    <Directory /home/sites/mainsite/www>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Order allow,deny
        allow from all
    </Directory>

    # Provide default favicon.ico and robots.txt using rewrite
    RewriteOptions Inherit
    RewriteEngine On
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
    RewriteRule ^/(robots\.txt|favicon\.ico)$ /mainsite_alias$0 [PT,NC,L]
</VirtualHost>

書き換えコードはすべての vhost に共通です (デフォルトの favicon.ico/robots.txt を提供します) が、このコードを httpd.conf に配置しても効果がないようです - 書き換えログには何も表示されません。

コードを複製せずに、このコードをすべての仮想ホストに共通にする方法を教えてください。

または、デフォルトのファビコンを実現するためのより良い方法はありますか?

ありがとう

4

2 に答える 2

1

あなたは試すことができますAliasMatch

AliasMatch ^/(robots\.txt|favicon.ico)$ /home/sites/site1/www/mainsite_alias$0
于 2009-07-18T19:08:17.617 に答える
0

私はこれを使用しています

<VirtualHost *:80>
    ServerAdmin email_at_isp
    DocumentRoot "C:/apache/htdocs"  
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin admin_at_server_one.com
    DocumentRoot "C:/apache/htdocs/server_one.com"
    ServerName server_one.com
    ErrorLog "logs/server_one.com-error.log"
    CustomLog "logs/server_one.com-access.log" common
</VirtualHost>

そして、ルート [C:/apache/htdocs] の .htaccess でスクリプトを書き換え続けています。笑

于 2009-10-07T02:21:24.883 に答える