Гарантия на сайты
При разработке и починке сайтов даже я могу иногда совершать глупые ошибки. Однако, я всегда починю бесплатно и в любое время ваш сайт, если я допустил ошибку. Так сказать, пожизненная гарантия. Так произошло и с одним из последних заказов.
Необходимо было создать что-то типа самописной CMS: на основании шаблона (одной страницы) – сделать возможность создавать сколько угодно страниц с изменяющимися элементами. По сути дела и есть шаблон.
Я пошел, как мне казалось, самым простым путем. Создаем в базе данных две таблицы: одна с шаблонами страниц (элементами), а вторая – с директориями. Файл обработчика берет значения из этих таблиц, подставляет и выводит нужное в зависимости от адреса страницы. В каталоги просто подставляем index.html с таким содержимым:
<?php include ($_SERVER['DOCUMENT_ROOT']."/техническая директория/index.html"); ?>А в технической директории создаем такой .htaccess:
<IfModule mod_rewrite.c> RewriteEngine On Options +FollowSymlinks RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.html [L,QSA] </IfModule>И все отлично заработало.
Однако, примерно через месяц заказчик обратился с проблемой: оказывается, гугл отказывается индексировать такие вот наши подкаталоги - Google Search Console выдал ошибки сканирования адресов формата "папка+страница". Я посмотрел ответ сервера: выдает ошибку 404. Но в браузере же страница отображается! Смотрим сетевой лог при подключении к проблемной странице:
И вот тут я немного завис. Все же правильно настроено, почему выдается ошибка 404? Еще раз проверил роутинг – все в порядке. Перехода на 404 не происходит. Пробуем подставить существующий файл – ошибка пропадает, происходит переход на него. Теперь понятно!
Дело в том, что я забыл положить .htaccess во вновь создаваемые директории. У нас не работает строчка RewriteCond %{REQUEST_FILENAME} !-f / -d, которая указывает исключить из обработки реально существующие на сервере файлы и каталоги. Добавляем .htaccess в поддиректории и гугл все прекрасно начинает индексировать.
В итоге: если вы обратитесь ко мне по поводу услуги создания сайта (или изменения/расширения его функционала), то вы получите пожизненную гарантию на мою работу. Я в любое время и совершенно бесплатно исправлю свои ошибки. Пишите на почту up777up@yandex.ru или сразу в скайп up777up2, или вконтакте.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.