Carduelis
@Carduelis
Web-developer, front-end, js, less

Если добавить слеш в конец URL, то сервер выдает 404 ошибку, как исправить?

Есть URL, например, site.ru/catalog - все здорово, все ссылки на сайте ведут без слеша на конце, но если использовать всякие utm-метки, там ставится слеш перед знаком "?", и при открытии ссылки site.ru/catalog/ - вываливается сгенерированная CMS 404-ошибка.

Как добавить в .htaccess (или не в нем?), чтобы со слешом тоже работало?
Простой редирект (в объявлении со слешом, а мы переадресовываем на "без слеша") не будет плохо сказываться на рекламных кампаниях?

То, что сейчас в .htaccess:
RewriteBase /
RewriteRule ^в_наличии$ index.php?route=product/special [L]
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
  • Вопрос задан
  • 2374 просмотра
Пригласить эксперта
Ответы на вопрос 2
miraage
@miraage
Старый прогер
Редирект 301, либо в PHP роутере сами обрезайте слэш.
Ответ написан
Комментировать
zooks
@zooks
Frontend
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

Источник: stackoverflow.com/questions/4167539/remove-trailin...
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы