2009-07-15 6 views
0

ich Apache2 leite mit mehreren vhosts in sites-enabled Ordner, sieht jeder ein bisschen wie folgt aus:Gemeinsame Rewrite für mehrere VHosts Einstellung

<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> 

Der Rewrite-Code ist für alle vhosts (vorausgesetzt, ein Favicon Standard .ico/robots.txt), aber das Einfügen dieses Codes in die httpd.conf scheint keine Auswirkung zu haben - die Umschreibeprotokolle zeigen nichts.

Wie kann ich diesen Code für alle vhosts einheitlich machen, ohne den Code zu duplizieren?

Alternativ - Gibt es eine bessere Möglichkeit, Standard-Favicons zu erreichen?

Dank

Antwort

1

Sie könnten versuchen, eine AliasMatch:

AliasMatch ^/(robots\.txt|favicon.ico)$ /home/sites/site1/www/mainsite_alias$0 
0

Ich bin mit diesem

<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> 

und ich halte Rewrite-Skripte in .htaccess an der Wurzel [C:/Apache/htdocs] Ich hoffe es hilft irgendwie, wenn nicht enoying. lol