- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Приветствую, помогите разобраться, как сделать. Суть проблемы есть категории и подкатегории они имеют вид:
www.site/category1
www.site/category1/category2
www.site/category1/category2/category3
Появились дубли, т.к. страница открывается www.site/category3 и так www.site/category1/category2/category3 . Как сделать редирект, чтобы был только так www.site/category3 . Категорий на сайте тыщи, поэтому каждую не пропишешь. Как будет сама новость выводиться, мне без разницы, они отдельно не выводятся. ЧПУ стоит Тип1. Заранее спасибо!
Попробуйте сделать так:
В файле /engine/engine.php найдите
и ниже добавьте
топорный вариант, но по хорошему такие редиректы должны делаться в скрипте
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.+/([^/]+/[^/]+)$ /$1 [R=301,L]
добавить после rewriteBase
Попробуйте сделать так:
В файле /engine/engine.php найдите
и ниже добавьте
Не совсем то, что хотел, получается редирект на длинный вариант.
топорный вариант, но по хорошему такие редиректы должны делаться в скрипте
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.+/([^/]+/[^/]+)$ /$1 [R=301,L]
добавить после rewriteBase
не работает так.
не работает так.
Что значит не работает? Я проверил и все "работает". /cat1/cat2/cat3/news.html редиректит на /cat3/news.html
Хотя судя по тому что вы там категории написали без закрывающего слеша, есть смысл добавить в конце паттерна \.html
Появились дубли, т.к. страница открывается www.site/category3 и так www.site/category1/category2/category3 .
Лол. А у вас там случайно не относительные адреса?
Что значит не работает? Я проверил и все "работает". /cat1/cat2/cat3/news.html редиректит на /cat3/news.html
Хотя судя по тому что вы там категории написали без закрывающего слеша, есть смысл добавить в конце паттерна \.html
Лол. А у вас там случайно не относительные адреса?
Да причём тут html, на сайте нет полных новостей они отключены. В принципе, как предложил LeeeV меня это устраивает, но в идеале, хотелось бы, чтобы был урл короче, не site/cat1/cat2/cat3/cat4/, а просто site/cat4/
Ещё есть вопрос, по {link-category}, как сделать так, чтобы выводилась, только подкатегория, а не категория -> подкатегория.
В принципе, как предложил LeeeV меня это устраивает, но в идеале, хотелось бы, чтобы был урл короче, не site/cat1/cat2/cat3/cat4/, а просто site/cat4/
Если вас устраивает, тогда делайте как предложил LeeeV, если речь только про категории и нужно то добавьте перед $ - /?
Ещё есть вопрос, по {link-category}, как сделать так, чтобы выводилась, только подкатегория, а не категория -> подкатегория.
В файле engine/modules/functions.php найдите код
и замените на