我想在虚拟主机配置中添加mod_rewrite规则,但它不工作。 对于“mysite.com”网站,我想将“/ webmedia /”重定向到主页。虚拟主机配置中的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>
为什么不将规则移动到'.htaccess'文件?这将更容易管理,因为您不必在每次修改后重新启动Apache。 – 2012-04-16 14:01:20
.htaccess文件越来越大,我听说服务器从vhosts文件中读取它会更有效率。那是对的吗? – EricP 2012-04-16 14:03:10
是的,Apache可能_faster_没有'AllowOverride All',因为它不会在每个请求中读取您的.htaccess文件。我猜这里的表现收益很小。你现在在'.htaccess'中有什么大的? – 2012-04-16 14:06:23