1 Востаннє редагувалося Jarko (06.05.2022 12:18:35)

Тема: Правильний .htaccess для Flask

Підкажіть будь ласка як правильно прописати .htaccess правила для апки на Flask? Конкретно це я сам не знайшов...

З хедера про сервер відомо:

server: Apache
status: 200 OK
x-powered-by: Phusion Passenger(R) 6.0.13

Зараз .htaccess має лише секцію, яка називається "CLOUDLINUX PASSENGER CONFIGURATION BEGIN"

Хостинг - Linux з cPanel.
Дякую.

2

Re: Правильний .htaccess для Flask

В мене на проекті цей файл взагалі відсутній... Бажано написати, чого саме ви хочете добитися через налаштування в цьому файлі, тоді будемо думати.

Я використовував цей файл раніше в іншому проекті, наприклад якщо в певній папці є файли малюнків, а я не хочу щоб сторонній користувач побачив весь перелік малюнків, тоді це робиться через .htaccess - яка тоді ціль тут?

3

Re: Правильний .htaccess для Flask

Ерм, кахи-кахи.. та я просто якось виявив що по url можна відкрити будь який файл проєкту. А ще переглянути зміст папок як клікабельний список. Прямо у браузері. Що точно не ok)
Кажуть щоб цього не було, потрібно прописати правила в htaccess. Ось я і шукаю як правильно все прописати там.

4

Re: Правильний .htaccess для Flask

Просто в кожній папці повинен бути файл index.html - можна порожній. Тоді якщо в браузері вказати www.example.com/folder1, то відобразиться вміст файлу index.html (в даному випадку порожнього) а не вміст папки. В файлі index.html можна зробити редірект через 1 секунду на головну сторінку проекту.

Але якщо хочеться саме через .htaccess, тоді дядько Ґуґл у поміч. Я давно цим файлом вже не цікавився.

5

Re: Правильний .htaccess для Flask

Jarko написав:

Ерм, кахи-кахи.. та я просто якось виявив що по url можна відкрити будь який файл проєкту. А ще переглянути зміст папок як клікабельний список. Прямо у браузері. Що точно не ok)

Точно не ОК. Хоча кому як.  *PARDON*

# Зборонити індексацію директорій
Options -Indexes

Заборонити файли не складно, але треба визначити спільний патерн назв, якщо бажаєте закрити кілька файлів.

# Наприклад, заборонити перегляд самого .htaccess
<Files .htaccess>
  Require all denied
</Files>

# Інший приклад, заборонити до перегляду всі приховані файли (які починаються на крапку)
<FilesMatch "^\.">
  Require all denied
</FilesMatch>

6

Re: Правильний .htaccess для Flask

Якщо у вас проект на FLASK, то яким боком тут Апач. Flask це пітоновський фреймворк для веб-додатків.
Можливий варант, що у вас апач в ролі проксуючого сервера для Flask і також віддає статику, то максимум, що ви можете заборонити опцію аутоіндексування (перегляду вмісту директорії, але якщо в директорії лише зображення для проекту, то яка різниця, чи хтось їх подивиться по прямому посиланню чи вони будуть вбудовані в сторінку, згенеровану flask)

7

Re: Правильний .htaccess для Flask

Чому ж, Апач може запускати пітонівські веб-додатки, використовуючи механізм WSGI (в Апачі має бути додатково встановлено й сконфігуровано mod_wsgi) чи навіть CGI (що в наш час вважається поганим рішенням, оскільки додаток перезавантажуватиметься при кожному запиті з браузера, що знизить його швидкодію — проте, це можливо, у т.ч., з Фласком, а сконфігурувати сервер простіше, ніж для WSGI). На відміну від проксі, пітонівська програма тут не працює як окремий сервер, а  запускається безпосередньо самим апачем.

Подякували: bebyk1

8

Re: Правильний .htaccess для Flask

Так, знаю про таке, але на продах django проекти завжди піднімалися як процес за допомогою gunicorn і nginx як проксі сервер.

Подякували: P.Y.1