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

A0
На сайте с 11.02.2016
Offline
40
#71

Есть следующие url

http://site.ru/category-OLD

http://site.ru/category-OLD/product1

http://site.ru/category-OLD/product2

я хочу поменять название категорий

http://site.ru/category-NEW

http://site.ru/category-NEW/product1

http://site.ru/category-NEW/product2

Как сделать 301 редирект категории? (товаров много)

---------- Добавлено 14.02.2016 в 21:34 ----------

RewriteRule ^(.*)/каталог/(.*)$ $1/каталог v1/$2 [R=301,L]

вот что писали в соседней теме, только я не понял как, это применить...

redeyer
На сайте с 27.01.2010
Offline
102
#72
adil07:

RewriteRule ^(.*)/каталог/(.*)$ $1/каталог v1/$2 [R=301,L]
вот что писали в соседней теме, только я не понял как, это применить...

Вставить в htaccess или в конфиг виртуалхоста для сайта. Должен быть включен mod_rewrite в apache. Ещё может статься, что apache нету, а стоит nginx. Для него правило будет другим:

location / {
rewrite ^/(.*)/каталог/(.*)$ /$1/каталог v1/$2 redirect;
}
Услуги сисадмина. Настройка и оптимизация VPS https://searchengines.guru/ru/forum/928318 . Поднятие своих прокси, восстановление сайтов из вебархива. Мой канал о хостингах https://t.me/hostingexpert
G
На сайте с 13.04.2013
Offline
88
#73

почему-то не работает ((

RewriteEngine on

RewriteRule ^([-a-z0-9]+\.html)/[-a-z0-9/]+\.html$ /$1

Пробовал также

RewriteRule ^([a-z-0-9]+\.html)/[a-z-0-9/]+\.html$ /$1

RewriteRule ^raskraska\.html/[a-z-0-9/]+\.html$ /raskraska.html

RewriteRule ^([a-z]+\.html)/.*$ /$1

не помогает...

NewJey
На сайте с 21.11.2009
Offline
113
#74

Добрый вечер.

Подскажите как правильно прописать редирект со страницы сайт/каталог/страница на сайт/страница

то есть надо убрать каталог

Спасибо.

RewriteRule ^catalog/(.+)$ http://site.com.ua/$1 [R=301,L] не срабатывает почему-то(

---------- Добавлено 14.02.2016 в 22:47 ----------

Вопрос решился, не в том месте прописал редирект(

J
На сайте с 20.02.2014
Offline
120
jkm
#75

Если ставить в самый конец после всех правил например после RewriteRule .* index.php [L], то работать не будет. Ставь первым правилом.


RewriteEngine On
RewriteRule ^([-a-z0-9]+\.html)/[-a-z0-9/]+\.html$ /$1 [R=301,L]
G
На сайте с 13.04.2013
Offline
88
#76

вот содержание файла .htaccess:

RewriteEngine on

RewriteRule ^([-a-z0-9]+\.html)/[-a-z0-9/]+\.html$ /$1 [R=301,L]

RewriteRule работает избирательно...

/raskraski.html/arkady/kulinarija/raskraski/barbi/logicheskie/logicheskie/simuljatory/arkady/simuljatory/prikoly/peredelki.html - перенаправляет

/raskraski.html/barbi/arkady/kulinarija/vinks/raskraski/barbi/logicheskie/raskraska_vinks_kluba.html - а этот нет

/raskraski.html/barbi/arkady/kulinarija/vinks/raskraski/bitva/ - и этот соответственно нет

Можно ли вообще сделать так, что если в урл присутствует после первого встретившегося ".html" любой знак, будь то / или ? делалось перенаправление?

J
На сайте с 20.02.2014
Offline
120
jkm
#77


RewriteEngine On
RewriteRule ^([-a-z0-9]+\.html). /$1 [R=301,L]

RewriteCond %{QUERY_STRING} .
RewriteRule ^([-a-z0-9]+\.html) /$1? [R=301,L]

Или так


RewriteEngine On

RewriteCond %{THE_REQUEST} "^\S+ /([-a-z0-9]+\.html)[/?]"
RewriteRule ^ /%1? [R=301,L]
[Удален]
#78

Лови полезный сайт по 301 редиректе.

Раньше долбил головой, как правильно сделать и работает ли.

http://www.rapidtables.com/web/tools/redirect-generator.htm

Сайт поддерживает несколько разных типов редиректов.

Если помог, дай спасибчик)))

E
На сайте с 15.02.2016
Offline
11
#79

Здравствуйте люди добрые, подскажите пожалуйста кто-нибудь, как добавить редирект в файл .htaccess чтобы все записи, которые оканчиваются на / перенаправлялись на записи с окончаниями с .html ?

Переделал урл везде, посчитал, что так будет лучше, а вот то, что сейчас продолжает идти куча запросов на несуществующие страницы - это плохо(

Вот содержимое файла .htaccess

#<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule (.+)/feed /$1 [R=301,L]

RewriteRule (.+)/comment-page /$1 [R=301,L]

RewriteRule (.+)/trackback /$1 [R=301,L]

RewriteRule (.+)/comments /$1 [R=301,L]

RewriteRule (.+)/attachment /$1 [R=301,L]

RewriteCond %{QUERY_STRING} ^replytocom= [NC]

RewriteRule (.*) $1? [R=301,L]

RewriteCond %{QUERY_STRING} ^attachment_id= [NC]

RewriteRule (.*) $1? [R=301,L]

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

#</IfModule>

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress

G
На сайте с 13.04.2013
Offline
88
#80

Отлично, спасибо, работает

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