Вот файловая структура моего веб-сайта:
public
│ 404.html
│ app.yaml
│ index.html
│ index.xml
│ prereqs.zip
│ sitemap.xml
│ sof2018.py
|
├───categories
│ index.html
│ index.xml
├───css
│ styles.css
├───home
│ index.html
├───js
│ scripts.js
├───prerequisites
│ index.html
├───scripts
│ │ index.html
│ │ index.xml
│ │
│ ├───page
│ │ └───1
│ │ index.html
│ │
│ └───sof2018
│ index.html
├───tags
│ index.html
│ index.xml
└───usage
index.html
В основном мне нужно убедиться в следующем:
- , если какая-либо папка вызывается с косой чертой (скажем,
/scripts/page/1/
или /home/
), он должен искать index.html внутри этой папки - , если какая-либо папка вызывается без завершающего слеша (скажем,
/scripts/page/1
или /home
), он должен искать внутри index.htmlэта папка - , если вызывается какой-либо файл (скажем,
/css/styles.css
или /prereqs.zip
), он должен возвращать файл
Чтобы отличить файлы от папок, достаточно простопроверить, есть ли точка (.), так как все мои файлы имеют расширения.Хотя я думаю, что кому-то еще может пригодиться решение, которое также обрабатывает файлы без расширения.
Я пробовал несколько различных регулярных выражений, все они, кажется, упускают тот или иной случай.Также попробовал все решения, предложенные в предыдущих вопросах по stackoverflow, практически на одной и той же вещи.
Я не ищу app.yaml, созданный специально для моего сайта, который можно сделать вручную, работая с каждым из них.папок, ящиков и т. д.
Я ищу общее решение, которое бы работало точно так же, как традиционный веб-хостинг , так как я предполагаю, что это пойдет на пользу другим, так какЧто ж.Тогда я буду свободен добавлять / изменять контент / структуру без необходимости каждый раз обновлять app.yaml.
PS Честно говоря, Google должен был сам предоставить решение, но они этого не сделали.Я предполагаю, что даже настоящие веб-разработчики не являются мастерами регулярных выражений.
PS2 Сайт создан с использованием статического генератора сайтов Hugo.Я могу подтвердить, что он работает на традиционном веб-хостинге (GoDaddy).Также я не знаю достаточно html / css / js, чтобы точно сказать, какова реальная внутренняя работа сайта;при необходимости я могу предоставить исходные файлы.