Перейти к публикации

Рекомендованные сообщения

Добрый день.

Сайт http://topfresh.ru

Давным-давно на сайте стоял тип ЧПУ 3 (http://site.ru/2008/04/02/имя новости.html). Потом я поменял его на тип 2 (http://site.ru/категория/подкатегория/id-имя новости.html).

Вопрос в следующем: как у старых новостей тоже сменить url новости, чтобы было по 2 типу чпу?

Ссылка на сообщение
Поделиться на других сайтах
  • 8 месяцев спустя...

Дабы не плодить темы, напишу тут. У меня была такая же ситуация, после выполнения выше описанного запроса ЧПУ переключилось на установленный в админке вариант, но при обращении к новости по старому адресу, не происходит редиректа на новый, хотя в админке включено "Обрабатывать неверные URL ЧПУ:" Поскажите пожалуйста, как решить данную проблему.

Изменено пользователем Scumtron2009
Ссылка на сообщение
Поделиться на других сайтах

Дабы не плодить темы, напишу тут. У меня была такая же ситуация, после выполнения выше описанного запроса ЧПУ переключилось на установленный в админке вариант, но при обращении к новости по старому адресу, не происходит редиректа на новый, хотя в админке включено "Обрабатывать неверные URL ЧПУ:" Поскажите пожалуйста, как решить данную проблему.

такой возможности в скрипте нет, и обработка неверных ЧПУ имеет иное предназначение, а не редирект со старого типа ЧПУ на новое. Контроль ЧПУ проверяет только правильность URL, а а не тип ЧПУ.

Ссылка на сообщение
Поделиться на других сайтах

такой возможности в скрипте нет

Спрошу по другому. Как в DLE сделать так, что бы ссылки вида: site . ru/год/мес/день/имя новости.html не открывались по этому пути, а отдавалась ошибка 404? В данный момент стоит ЧПУ 1

Ссылка на сообщение
Поделиться на других сайтах

Scumtron2009, откройте корневой .htaccess и найдите строчки:

# За день

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2&day=$3 [L]

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&day=$3&cstart=$4 [L]

замените на:

# За день

#RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2&day=$3 [L]

#RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&day=$3&cstart=$4 [L]

Ссылка на сообщение
Поделиться на других сайтах

Scumtron2009, откройте корневой .htaccess и найдите строчки:

# За день

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2&day=$3 [L]

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&day=$3&cstart=$4 [L]

замените на:

# За день

#RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2&day=$3 [L]

#RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&day=$3&cstart=$4 [L]

Спасибо, но не помогло, страница по прежнему открывается по адресу: site . ru/2008/12/06/название.html

Ссылка на сообщение
Поделиться на других сайтах

Я ошибся!

Верните, как было! Найдите строчку:

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 [L]

и замените её на:

#RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 [L]

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...