2012-04-16 1 views
9

vhost設定にmod_rewriteルールを追加しようとしていますが、動作しません。 サイト「mysite.com」の場合は、「/ webmedia /」をホームページにリダイレクトします。あなたはmod_rewriteのがロードされている場合、これは動作するはずvhosts設定の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

なぜルールを '.htaccess'ファイルに移動しないのですか?すべての変更後にApacheを再起動する必要がないので、管理がはるかに容易になります。 –

+2

.htaccessファイルが大きくなっており、サーバがvhostsファイルからそれを読み取る方が効率的だと聞きました。あれは正しいですか? – EricP

+2

はい、すべてのリクエストで.htaccessファイルを読む必要がないので、Apacheはおそらく 'AllowOverride All'のない_faster_です。パフォーマンスの向上はここでは非常に小さいと思います。それが大きくなるためにあなたの '.htaccess'には現在何がありますか? –

答えて

11

:ここ

は私が持っているものです。

<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

Seybsenありがとうございます。それはそれだった。 – EricP

+0

.htaccessファイルの書き換えが少なく、vhostの設定がもっと多い場合は、サーバで簡単です。それとも問題じゃない? – EricP

+1

この回答をご覧ください:http://stackoverflow.com/a/9555416/982002 – Seybsen

関連する問題