Для решения вашей задачи, когда нужно, чтобы URL с / в конце (например,
https://sait.ru/katalog/) перенаправлялись на соответствующий index.shtml (например,
https://sait.ru/katalog/index.shtml), можно использовать директиву RewriteRule в файле .htaccess. Это поможет избежать дублирования страниц в поисковой выдаче.
Вот пример кода для .htaccess, который будет перенаправлять запросы с / на index.shtml:
RewriteEngine On
# Проверяем, что запрос оканчивается на / и не является директорией
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} ^(.+)/$
# Перенаправляем на index.shtml внутри этой директории
RewriteRule ^(.+)/$ $1/index.shtml [L]
Объяснение:
RewriteEngine On — включает механизм перезаписи URL.
RewriteCond %{REQUEST_FILENAME} -d — проверяет, что запрошенный путь является директорией.
RewriteCond %{REQUEST_URI} ^(.+)/$ — проверяет, что URL оканчивается на /.
RewriteRule ^(.+)/$ $1/index.shtml [L] — перенаправляет запрос на index.shtml внутри этой директории. Флаг [L] означает, что это последнее правило, которое должно быть применено.
Важные моменты:
Убедитесь, что файл .htaccess находится в корне вашего сайта.
Если у вас уже есть другие правила в .htaccess, добавьте этот код в начало, чтобы он не конфликтовал с существующими правилами.
После внесения изменений проверьте, что перенаправления работают корректно, открыв в браузере URL с / в конце.
Этот подход поможет вам избежать дублирования страниц в поисковой выдаче и улучшит SEO вашего сайта.