Слэш в конце адреса
Подскажите кто знает:
Как сделать, чтобы в конце адреса всегда проставлялся слеш?
Сейчас ситуация такая:
site.ru — всегда без слеша на конце (пусть так и будет)
site.ru/catalog/ — ведет себя непонятно, на части страниц слэш подставляется, на части страниц доступно и со слэшем и без.
site.ru/catalog/podcatalog — доступен и со слешем и без него (а надо только со слешем)
site.ru/page.html — всегда без слэша (так и должно быть)
Я так понимаю настаивать надо nginx. Сервер настраивал по этой инструкции. От себя ничего не писал, не настраивал.
Кстати у Василия тоже примерно такая ситуация:
http://bezumkin.ru/index — всегда без слэша
http://bezumkin.ru/sections/ — и так и так доступно.
Как сделать, чтобы в конце адреса всегда проставлялся слеш?
Сейчас ситуация такая:
site.ru — всегда без слеша на конце (пусть так и будет)
site.ru/catalog/ — ведет себя непонятно, на части страниц слэш подставляется, на части страниц доступно и со слэшем и без.
site.ru/catalog/podcatalog — доступен и со слешем и без него (а надо только со слешем)
site.ru/page.html — всегда без слэша (так и должно быть)
Я так понимаю настаивать надо nginx. Сервер настраивал по этой инструкции. От себя ничего не писал, не настраивал.
Кстати у Василия тоже примерно такая ситуация:
http://bezumkin.ru/index — всегда без слэша
http://bezumkin.ru/sections/ — и так и так доступно.
Комментарии: 44
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Хотя, в настройках MODX вроде есть strict_urls — они должны делать тоже самое, проверь.
будет убирать слеш
или так
Второй — периодически выдает 404 Not Found
Оставлю
Так работает.
Спасибо большое.
В общем условия такие:
если:
— адрес не содержит «sitename.ru/*.*» (т.е. в конце адреса *.html или *.jpg или еще какое-то расширение)
и
— в конце адреса нет слеша
и
— адрес не содержит «sitename.ru/manager*»
и
— это не главная страница (sitename.ru)
то добавлять в конец адреса слеш.
Прочитал уже про регулярные выражения. Уже представляю как прописать эти условия по отдельности, но не знаю как применить эти условия (конкретно отрицания) в nginx и прописать все это в одном условии.
Кто силен в этом, помогите пожалуйста.
В общем, вот что я наваял:
Но получаю ошибку 500. Что не так делаю?
И еще вопрос: админка при таком условии обрабатываться не должна?
P.S. Над кодом прошу не смеяться
А плагин для редиректа на канонический uri документа-контейнера выглядит так:
От себя добавлю: sendRedirect — по умолчанию делает 302 редирект, для 301
Плагин работает отлично! Столкнулся с такой ситуацией: в категории при пагинации на другую страницу (напр.: site.ru/category/?page=2) при переходе она нормально отображается, а если этот адрес отрыть в новой вкладке или браузере, то плагин редиректит на site.ru/category/ что несколько неудобно, если требуется отправить такую ссылку по почте, да и страницы эти из поисков повылетают со временем.
Помоги решить, пожалуйста.
не сомневаюсь… Начинал я изучать PHP, но что-то как-то сложно.
С page разобрались, а вот при фильтрации через mFilter то же самое, что и тут
Лично у меня с «index.php/хотьчто/» все нормально 404 ошибка. А вот «site.ru/index.php» работает. Прописал в nginx (по аналогии с index.html):
результата не дало.
Также есть проблемы с:
site.ru/catalogue/index.html(.php) -> редирект на site.ru// (именно два слеша на конце), а должно быть на site.ru/catalugue/
если на главной или в категории в конце поставить сколько угодно слешей, то страница все равно отдаст код 200
я сделал 404 на /catalog/index.php, а когда сайт.ru/index.php 301 на /.
меня больше заботит index.php/хотьчто/, т.к. сайт был раньше на Джумле с таким ссылками, сейчас на revo, а ссылки эти кривые остались в индексе и отдают 200 код. Сейчас еще два других сайта проиндексируются с index.php/хотьчто/ так как на них проверил этот баг ))))
Писал так:
и так:
результата нет. Что делаю не так?
результата ноль. Кто сталкивался с такой проблемой и решил ее?
Те. сайт/категория/товар/
Возможно ли в этом коде также прописать редирект с .html в конце /, то есть, убрать точку с html и вместо добавить слеш?
У меня на сайте дочерние ресурсы были с .html в конце url. Но я их сделала контейнерами и теперь они стали со слеш. А автоматического редиректа не происходит. Пожалуйста, посоветуйте, как исправить это? Спасибо!