Как можно настроить перенаправления?

Как настроить .htaccess для того, чтобы страница blog.html была доступна по ссылке site.ru/blog, а страницы article.html, article1.html, article2.html и article3.html были доступны по ссылкам типа site.ru/blog/article, site.ru/blog/article1 и т.д. на виртуальном хостинге с использованием Apache и ISPmanager 4.4?
  • 18 ноября 2023 г. 10:24
Ответы на вопрос 2
Для настройки перенаправлений и создания ЧПУ (человеко-понятных URL) можно использовать файл .htaccess в корневой директории вашего сайта. В вашем случае, вы хотите, чтобы страница blog.html была доступна по ссылке site.ru/blog, а страницы article.html, article1.html, article2.html и article3.html были доступны по ссылкам типа site.ru/blog/article, site.ru/blog/article1 и т.д.

Вот пример кода, который вы можете добавить в файл .htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog$ blog.html [L]
RewriteRule ^blog/(.*)$ $1.html [L]

Данный код использует модуль mod_rewrite для Apache, чтобы перенаправлять запросы на нужные страницы. 

Первые две строки (RewriteCond) проверяют, что запрос не соответствует существующему файлу или директории, чтобы исключить конфликты с существующими страницами или папками.

Следующая строка (RewriteRule) перенаправляет запросы на страницу blog.html по ссылке site.ru/blog.

Последняя строка (RewriteRule) перенаправляет запросы типа site.ru/blog/article на страницу article.html, site.ru/blog/article1 на страницу article1.html и так далее.

Обратите внимание, что для работы этого кода mod_rewrite должен быть включен на сервере, и вам может потребоваться права администратора для изменения файла .htaccess. Также, при изменении файла .htaccess сделайте резервную копию, чтобы в случае ошибки можно было вернуться к предыдущей версии.
В .htaccess у меня записаны правила, которые работают неправильно. Вкладка Networks показывает странные редиректы, в которых меняется протокол (http/https) и наличие слеша в конце URL. Я уже устал/устала разбираться с этим .htaccess. Никогда раньше не сталкивался/сталкивалась с такой сложной проблемой.
Похожие вопросы