2012-04-16 20 views
9

Vhost yapılandırmasına mod_rewrite kuralları eklemeye çalışıyorum ama çalışmıyor. "mysite.com" sitesi için "/ webmedia /" adresini ana sayfaya yönlendirmek istiyorum. Eğer mod_rewrite yüklü varsa, bu çalışması gerekirvhosts yapılandırmasında mod_rewrite

<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

Neden kurallarınızı '.htaccess' dosyasına taşıyamıyorsunuz? Yaptığınız her değişiklikten sonra Apache'yi yeniden başlatmanız gerekmeyeceğinden, yönetilmesi daha kolay olacaktır. –

+2

.htaccess dosyası büyüyor ve sunucunun vhosts dosyasından okumasının daha verimli olduğunu duydum. Bu doğru mu? – EricP

+2

Evet, Apache muhtemelen "AllowOverride All" olmaksızın _faster_ 'tır çünkü her istekte .htaccess dosyanızı okumak zorunda kalmaz. Performansın kazancı _very_ küçüktür sanırım. Şu an için .htaccess'inde ne var? –

cevap

11

: Burada

ben ne var.

<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

Teşekkürler Seybsen. Öyleydi. – EricP

+0

Sunucuda, .htaccess dosyalarında daha az yeniden yazma varsa ve daha fazlası vhost yapılandırmasında daha kolay mı? Yoksa önemi yok mu? – EricP

+1

Bu cevaba bir göz atın: http://stackoverflow.com/a/9555416/982002 – Seybsen

İlgili konular