2012-04-16 38 views
9

Sto provando ad aggiungere le regole mod_rewrite nella configurazione vhost ma non funziona. Per il sito "mysite.com" voglio reindirizzare "/ webmedia /" alla home page.mod_rewrite nella configurazione vhosts

Ecco quello che ho:

<VirtualHost 192.168.100.142:80> 
    ServerAdmin [email protected] 
    DocumentRoot /home/drupal_1 
    ServerName mysite.com 
    ServerAlias www.mysite.com 
    Alias /movies /home/movies/ 
    ErrorLog /var/log/httpd/mysite.com_err_log 
     CustomLog /var/log/httpd/mysite.com_log special 
    <Directory /home/drupal_1> 
     Options FollowSymLinks Includes ExecCGI 
       AllowOverride All 
       DirectoryIndex index.html index.htm index.php 

     # Rewrite Rules ##################### 
     RewriteEngine On 
     RewriteRule ^/webmedia/(.*)/[R=301,L] 
     # end Rewrite Rules ################# 

    </Directory> 
    <Directory /home/movies> 
     Options FollowSymLinks Includes ExecCGI 
       AllowOverride All 
       DirectoryIndex index.html index.htm index.php 
    </Directory> 

</VirtualHost> 
+0

Perché non spostare le regole in un file '.htaccess'? Sarà molto più facile da gestire poiché non dovrai riavviare Apache dopo ogni modifica effettuata. –

+2

Il file .htaccess sta diventando grande e ho sentito che è più efficiente per il server leggerlo dal file vhosts. È corretto? – EricP

+2

Sì, Apache è probabilmente _faster_ senza 'AllowOverride All' perché non deve leggere il file .htaccess su ogni richiesta. Immagino che il guadagno di prestazioni sia _molto_ piccolo qui. Cosa hai attualmente nel tuo '.htaccess' perché sia ​​grande? –

risposta

11

Questo dovrebbe funzionare se si dispone di mod_rewrite caricato.

<Directory /home/drupal_1> 
    Options FollowSymLinks Includes ExecCGI 
    AllowOverride All 
    DirectoryIndex index.html index.htm index.php 
</Directory> 
<Directory /home/movies> 
    Options FollowSymLinks Includes ExecCGI 
    AllowOverride All 
    DirectoryIndex index.html index.htm index.php 
</Directory> 
<VirtualHost 192.168.100.142:80> 
    ServerAdmin [email protected] 
    DocumentRoot /home/drupal_1 
    ServerName mysite.com 
    ServerAlias www.mysite.com 
    Alias /movies /home/movies/ 
    ErrorLog /var/log/httpd/mysite.com_err_log 
    CustomLog /var/log/httpd/mysite.com_log special 

    # Rewrite Rules ##################### 
    RewriteEngine On 
    RewriteRule ^/webmedia/(.*)/[R=301,L] 
    # end Rewrite Rules ################# 
</VirtualHost> 
+0

Grazie, Seybsen. Era così. – EricP

+0

I è più facile sul server se ci sono meno riscritture nei file .htaccess e altro nella configurazione vhost? O non importa? – EricP

+1

Dai un'occhiata a questa risposta: http://stackoverflow.com/a/9555416/982002 – Seybsen