我正在尝试配置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*
规则)工作。
所以,我怀疑为什么我不能在简单的服务器配置环境中完成这个,以及解决方案是什么?