Flask 忽略 .htaccess 文件

问题描述 投票:0回答:1

我的 Flask 应用程序正在提供一个页面,该页面应该通过 .htaccess 文件限制访问。我知道我已经正确配置了 Apache 和 .htaccess 文件,因为它对同一目录中的 .php 文件工作正常。我需要做些什么才能让 Flask(或 wsgi)按预期运行吗?

apache .htaccess flask wsgi
1个回答
0
投票

您可以在 apache 配置中插入相同的代码,而不是使用目录中的

.htaccess
文件。首先,您需要通过覆盖目录指令来启用 htaccess。

<Directory /var/www/flask_app>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow, deny
                allow from all
</Directory> 

然后启用重写模式并重新启动apache,

sudo a2enmod rewrite
sudo service apache2 restart

您可以在 apache 配置文件中添加 htaccess 代码。

RewriteEngine On

# (Requires Apache 2.4.8+)
RewriteOptions InheritDown

RewriteRule ^/index\.html$ - [L]
RewriteCond %{LA-U:REQUEST_FILENAME} !-f
RewriteCond %{LA-U:REQUEST_FILENAME} !-d
RewriteRule ^/. /index.html [L]

注意这里,不需要

<IfModule>
包装纸。并且
RewriteBase 
在服务器上下文中无效。我们需要使用 lookahead
(LA-U:)
来检索请求映射到的文件名。

© www.soinside.com 2019 - 2024. All rights reserved.