@ilya_ws

Как добавить html код для каждой страницы с определенным url?

Есть много статичных html документов, которые находятся по адресу site.com/data/courses/*,
возможно ли как-то им через .htaccess или другой способ всем добавить <script> перед </body> документа?

На сайте не используется CMS / фреймворк / MVC, обычные .html документы в большом количестве
+ в дальнейшем будут добавляться .html файлы в эту папку
  • Вопрос задан
  • 148 просмотров
Пригласить эксперта
Ответы на вопрос 5
@GrigoryMorozov
Варианта два:
  1. Либо пишете скрипт, который редактирует все файлы в каталоге (функции scandir, file_get_contents и file_put_contents)
  2. Либо с помощью .htaccess (или другими средствами) направляете все запросы на конкретный PHP-файл, извлекаете из URL название запрашиваемого HTML-файла, выводите его и в процессе вывода добавляете необходимый контент (читайте про роутинг)
Ответ написан
Комментировать
@mahony
Другой способ.
Я вставлял используя текстовый редактор notepad++
Скачивал сайт, заходил в корневую директорию, открывал любой файл редактором и делал замену во всех файлах, включая подпапки.
В вашем случае:
Найти: </body>
Заменить на: [script]</body>

Снова закачиваете на сайт.
Вуаля!
Ответ написан
Комментировать
если есть поддержка SSI то можно вынести нужный скрипт в отдельный блок перед
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Вам нужна единая точка входа и базовый функционал инклуда/чтения файлов. Далее по вкусу: либо делать инклуд + буферизацию вывода и заменять контент на нужный регулярками/заменой, либо читать файл, менять нужное и отдавать как ответ. По сути одно и то же, просто код будет чуть отличаться.
Ответ написан
Комментировать
shambler81
@shambler81 Куратор тега htaccess
bash find+sed был у меня сайт на статике 75К страниц ;) вот это было весело.
как минимум для этого поменяйте на всвех страничках футер и хедер через инклуды на пхп.
Так можно будет вносить хоть какие-то правки как минимум в меню не бегая по каждой страничке.
Да и такие вопросы можно будет дешево решать
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы