我正在尝试将 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*
规则)都可以工作。
所以,我怀疑为什么我无法在简单的服务器配置上下文中完成这项工作,解决方案是什么?