- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день!
Помогите с настройкой правила для 301-го редиректа в .htaccess.
Есть сайт на самопальной CMS, которую меняю на вордпресс. Соответственно все старые статьи введены в вордпресс и получили новые ссылки. Нужно со старых ссылок переключать на новые.
Старые ссылки имеют следующий вид:
Новые ссылки имеют вид:
Сейчас правило выглядит следующим образом:
RewriteCond %{QUERY_STRING} ^(.*)ArticleID=566(.*)$RewriteRule ^article\.php$ http://www.site.ru/2007/09/nazvanie-statii/ [R=301,L]
Результат выполнения этого правила следующий:
1. Перенаправление происходит, но!
2. Ссылка формируется с ненужным хвостом "старой ссылки", т.е. формируется ссылка следующего вида:
Как с этим бороться?
BeInspired, Попробуйте так:
RewriteRule ^article\.php$ http://www.site.ru/2007/09/nazvanie-statii/ [L,R=301]
или же так:
RewriteCond %{QUERY_STRING} ^\z
RewriteRule ^article\.php$ http://www.site.ru/2007/09/nazvanie-statii/? [R=301,L]
или гляньте на один из вариантов
Возможно что-то Вам подойдет.
RewriteRule ^article\.php$ http://www.site.ru/2007/09/nazvanie-statii/?
---------- Добавлено 09.11.2015 в 14:06 ----------
ArticleID=566(.*)$
Не правильно. ArticleID=566(&|$)
BeInspired, Попробуйте так:
или гляньте на один из вариантов
Возможно что-то Вам подойдет.
Подошел один из вариантов :) По сути добавил только знак вопроса в конце ссылки-назначения и правило изначальное сделал по сути звездочкой:
RewriteCond %{QUERY_STRING} ^(.*)ArticleID=56(.*)$RewriteRule ^.*$ http://www.pchelovodstvo.ru/2007/09/nazvanie-statii/? [R=301,L]
---------- Добавлено 09.11.2015 в 13:15 ----------
Не правильно. ArticleID=566(&|$)
А можете пояснить - на что влияет данная конструкция? У меня изначально был смысл, что ArticleID может встретиться как в начале списка параметров, так и в конце.
А можете пояснить - на что влияет данная конструкция?
Представьте что будет с вашим выражением когда сделаете редирект первой, второй и тд новости - ArticleID=1(.*)?.. Оно соответствует ArticleID=1[n-количество любых символов, в том числе цифр]
Представьте что будет с вашим выражением когда сделаете редирект первой, второй и тд новости - ArticleID=1(.*)?.. Оно соответствует ArticleID=1[n-количество любых символов, в том числе цифр]
Все - понял. С учетом количества переносимых статей и того, что первая статья имеет ID=24, то проблема возникнет только для двух статей - с айдишниками 24 и 25. Сейчас ваш вариант протестирую. Спасибо, что указали на ошибку!
а не проще так делать редирект?