apache - RewriteEngine在<virtualhost>指令</virtualhost>之外不起作用

时间:2012-04-26 15:45:32

标签: apache mod-rewrite virtual-hosts

我正在尝试配置apache以将仅包含主机名(域)的请求重定向到另一个路径。 我发现以下指令很有用,但只要这些指令包含在VirtualHost中,就放入site_available文件夹(/etc/apache2/)并作为单独的站点启用(使用a2ensite命令)。

<VirtualHost *:80>
    ServerName myserver:80

    WSGIScriptAlias / /var/path/to/myproject/myproject.wsgi

    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^/?$
    RewriteRule ^(.*)$ /path/path [R=301,L]
</VirtualHost>

请注意,只有Rewrite*指令不起作用。我的Python项目的别名工作正常。

Morover,我发现如果我用a2dissite命令禁用其他虚拟主机(000-default)并将上面提到的指令(没有VirtualHost)放到httpd.conf文件中(包括Rewrite*规则)工作。

所以,我怀疑为什么我不能在简单的服务器配置环境中完成这个,以及解决方案是什么?

0 个答案:

没有答案