Как сделать редирект (301, 302). Общая тема

S
На сайте с 07.12.2016
Offline
1
#361
Sitealert:
Что там надо редиректить, одну единственную страницу штоли?

штук 20 будет

S
На сайте с 30.09.2016
Offline
469
#362

Ну так пишите тогда нормально - какой вид исходный и куда надо редиректить.

Ушёл куда-то ТС... Потерялся.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
S
На сайте с 07.12.2016
Offline
1
#363
Sitealert:
Ну так пишите тогда нормально - какой вид исходный и куда надо редиректить.

Ушёл куда-то ТС... Потерялся.

Исходный вид /index.php?productID=35

Сюда надо http://www.site/primaflora/index.php?productID=35

Все в одном домене.

S
На сайте с 30.09.2016
Offline
469
#364
shedrindl:
Исходный вид /index.php?productID=35
Сюда надо http://www.site/primaflora/index.php?productID=35

Это не 20 страниц, а одна.

RewriteCond %{QUERY_STRING} ^productID=35$

RewriteRule ^index.php$ /primaflora/index.php [R=301,L]
S
На сайте с 30.09.2016
Offline
469
#365

Поправочка: обратный слеш забыл:o

RewriteCond %{QUERY_STRING} ^productID=35$

RewriteRule ^index\.php$ /primaflora/index.php [R=301,L]
Как бы ничего страшного не произойдёт, но корректность есть корректность.
Т2
На сайте с 13.12.2016
Offline
0
#366

Здравствуйте, уважаемые форумчане!

Помогите разобраться. Смена движка сайта. В поиске и в Вебмастере торчат старые ссылки от старого сайта, которые ведут на страницы нового сайта с кривым шаблоном, разумеется, без левого меню. ЧПУ включены. На сервере прописывал коды, которые советовали люди, но редирект 301 не работает. Где ошибка? На фрилансе тоже не смогли помочь.

Пример строки из .htaccess

RewriteEngine On

Redirect 301 /index.php?option=com_content&view=article&id=6&Itemid=17 http://www.ivsatin.ru/tekhnologiya.html

J
На сайте с 20.02.2014
Offline
120
jkm
#367
ТП2:
Redirect 301 /index.php?option=com_content&view=article&id=6&Itemid=17 http://www.ivsatin.ru/tekhnologiya.html

Тут используется шаблон с GET параметрами и директива Redirect, которая относится к mod_dir.

Проблема в том, что mod_dir сравнивает с шаблоном только /path, а не весь /path?query.

Средствами mod_rewrite это можно сделать так


RewriteEngine On

RewriteCond %{THE_REQUEST} " /index\.php\?option=com_content&view=article&id=6&Itemid=17 "
RewriteRule ^ http://www.ivsatin.ru/tekhnologiya.html? [R=301,L]

или так


RewriteEngine On

RewriteCond %{QUERY_STRING} =option=com_content&view=article&id=6&Itemid=17
RewriteRule ^index\.php$ http://www.ivsatin.ru/tekhnologiya.html? [R=301,L]

Ну и ставить это выше остальных RewriteCond и RewriteRule.

S
На сайте с 30.09.2016
Offline
469
#368

Знак '=' лишний.

M
На сайте с 04.12.2013
Offline
223
#369

Не лишний. Означает точное соответствие. Если убрать – получится фрагментарное.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
S
На сайте с 30.09.2016
Offline
469
#370

По мне, так если кто в конце влепит ничего не значащий параметр, то его туда же надо редиректить. Хотя - хозяин-барин, ему виднее.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий