Тема: .htaccess и слэш на конце url

Есть мысль, что неплохо было бы, чтобы в конце url ставился слэш, если пользователь ввел адрес без него. На мой взгляд, редирект лучше чем 404 ошибка )

Предлагаю для этой цели вариант части .htaccess:

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_URI} !(.*)/$
  RewriteRule ^(.*)$ /$1/ [L,R=301]

Я не спец в mod_rewrite, а посему исправления, дополнения приветсвуются.

Повысить оценку Понизить оценку

2

Re: .htaccess и слэш на конце url

Вероятно, что данное правило может сломать урлы с параметрами (надо проверить):

/catalog/категория/?page=2
/catalog/категория/?f[id_характеристики]=значение_харктеристики

Повысить оценку Понизить оценку

3

Re: .htaccess и слэш на конце url

Спасибо.
Проверил на характеристиках и в админке. Проблем пока не заметил.

Повысить оценку Понизить оценку

4

Re: .htaccess и слэш на конце url

Выявилась одна проблема. При добавлении данного правила в админке не добавляются картинки с товарам. Вернее добавляются, но не отображаются на сайте и превью в админке не работает на изображения.

5

Re: .htaccess и слэш на конце url

спасибо

Повысить оценку Понизить оценку

Re: .htaccess и слэш на конце url

У кого нибудь есть рабочее правило без косяков?

Повысить оценку Понизить оценку

Re: .htaccess и слэш на конце url

Это правило не нужно, т.к. кто и как туда попадет?

8

Re: .htaccess и слэш на конце url

Закусило Александр пишет:

Это правило не нужно, т.к. кто и как туда попадет?

Правило все-таки нужно, т.к. например вк вырезает слэш в конце ссылки в приложении мобильных.
Вставляешь ссылку https://www.luchski.ru/product/sandalii … -s-47985/, вся ссылка синяя активная, а слэш в конце просто текстом черный и при переходе посетитель попадает на 404 ошибку.

9

Re: .htaccess и слэш на конце url

Sergey T. пишет:
Закусило Александр пишет:

Это правило не нужно, т.к. кто и как туда попадет?

Правило все-таки нужно, т.к. например вк вырезает слэш в конце ссылки в приложении мобильных.
Вставляешь ссылку https://www.luchski.ru/product/sandalii … -s-47985/, вся ссылка синяя активная, а слэш в конце просто текстом черный и при переходе посетитель попадает на 404 ошибку.

Если это так, то это чистый баг вк, слеш - это такой же символ как любая буква.или любой другой знак, нужно писать в саппорт вк. Странно, что кто-то слеш наделяет отдельным смыслом.

Повысить оценку Понизить оценку

10

Re: .htaccess и слэш на конце url

Как оказалось это не баг ВК, это андроид так парсит ссылки по словам поддержки.
Цитирую:
-----------
"В приложении используются стандартный парсер ссылок Android. Вы можете настроить на Вашем сайте редирект, чтобы пользователи спокойно открывали ссылки как со слэшем, так и без."
--------
следовательно такая проблема у всех пользователей андроид телефонов.

11

Re: .htaccess и слэш на конце url

В таком случае может вк не должны использовать стандартный парсер андроид, раз он багованный? Тут же явный баг, парсер ломает корректный url, удаляет почему-то последний символ.

Наверняка в какой-нибудь новой версии этого парсера такой досадный баг исправлен.

Но если вы все же желаете костылить баги вк редиректами рассмотрите вариант делать редиректы только для тех урлов, которые вы публикуете в вк. Так меньше сломать можно в системе различных моментов.

Повысить оценку Понизить оценку

12

Re: .htaccess и слэш на конце url

RewriteCond %{REQUEST_URI} ^(.*/[^/\.]+)$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]

Сейчас такое тестирую.

13

Re: .htaccess и слэш на конце url

В этом варианте перестал работать вход в админку через site.com/admin . Поля подсвечены красным и все. Но через фронт если авторизоваться, то нормально.

14

Re: .htaccess и слэш на конце url

    RewriteCond %{REQUEST_URI} ^(.*/[^/\.]+)$
    RewriteCond %{REQUEST_URI} !^/admin
    RewriteCond %{REQUEST_URI} !^/admin/
    RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1/ [R=301,L]

пробую так, где admin - адрес админки. Заходит