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

ГР
На сайте с 27.12.2013
Offline
70
#481
Гога Р, примерно так:
RewriteRule ^page/([^/.]+)$ /$1.html [R=301,L]
Только смотрите, если есть другие редиректы, то в нужное место воткнуть надо.

Разобрался вроде, там ещё были проблемы со слешем /. Т.е были в выдаче (гугла) странице как с оным, так и без.

Примерно так:

site.ru/page/name1/

site.ru/page/name2

site.ru/page/name3/

site.ru/page/name4

И оно редиректило всё через ж

Сделал две записи, где есть слеш, и где нет, вроде теперь работает и нормально редиректит старые страницы и со слешем и без слеша.

RewriteRule ^page/(.+)/$ http://site.ru/$1.html [R=301,L]

RewriteRule ^page/(.+)$ http://site.ru/$1.html [R=301,L]

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

Можно одну запись сделать


RewriteRule ^page/([^/.]+)/?$ http://site.ru/$1.html [R=301,L]
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
ГР
На сайте с 27.12.2013
Offline
70
#483
Sitealert:
Можно одну запись сделать

RewriteRule ^page/([^/.]+)/?$ http://site.ru/$1.html [R=301,L]

Спасибо мил человек. 🙄

A
На сайте с 11.04.2008
Offline
103
#484
Sitealert:
Можно одну запись сделать

мил человек, мне подскажите пожалуйста

artmichurinsk:
Прошу помощи у знатоков.

RewriteEngine on
Options +FollowSymlinks
RewriteBase /forum
RedirectMatch permanent ^\/forum\/(.*)$ http://сайт.ru/$


Редирект рабочий, но вместе с каталогом forum и его страницами редиректит на главную и все остальное. Пытался убрать и по-другому

RewriteRule ^forum(.*)$ http://сайт.ru/$1 [L,R=301]


тоже не прокатывает. Подскажите пожалуйста.

Мото эвакуатор (http://eduya.ru/)
S
На сайте с 30.09.2016
Offline
469
#485

artmichurinsk, лично я, к сожалению, не понял из Вашего поста, что у Вас не прокатывает, и куда должно прокатить. И что такое "всё остальное".

A
На сайте с 11.04.2008
Offline
103
#486

Sitealert, есть форум в подпапке. Надо сделать его редирект на главную страницу сайта со всеми вложенными страницами. Что я не побовал либо редиректит и остальные подпапки на сайте, либо не редиректит ничего

Пробовал просто в в корневом файле .htaccess прописать это

Redirect 301 /forum http://сайт.ru/

но тоже ничего не дало, внутренние страницы не хотят так работать

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

Приведите пример - адрес в адресной строке и куда должно редиректить.

И ещё: вот это вот RewriteBase /forum - не работает при явном указании через http:// - это во-первых, и неправильно, если Вы вообще не адресуете на /forum - это во-вторых.

A
На сайте с 11.04.2008
Offline
103
#488
Sitealert:
Приведите пример - адрес в адресной строке и куда должно редиректить.

хм...

есть сайт:

http://site.com

в нем есть каталоги

http://site.com/map/

http://site.com/news/

http://site.com/forum/

в виду своей ненадобности решил закрыть один из каталогов и сделать с него и с его внутренних страниц редирект на главную, т.е. с http://site.com/forum/ на http://site.com/

вот у меня не получается прописать для него правила RewriteRule. Я что-то не так делаю, может предложите что-то?

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

Ну дык... Вот так должно работать:

RewriteRule ^forum(.*)$ http://сайт.ru/? [L,R=301]
Если не работает - значит срабатывают более ранние редиректы. Вставляйте эту директиву впереди остальных. Правда, не должно быть адресов типа http://сайт.ru/forumblablabla - иначе сложнее надо писать. И там скобки скорее для красоты, в данном случае.
A
На сайте с 11.04.2008
Offline
103
#490
Sitealert:
Ну дык... Вот так должно работать:
RewriteRule ^forum(.*)$ http://сайт.ru/ [L,R=301]
Если не работает - значит срабатывают более ранние редиректы. Вставляйте эту директиву впереди остальных. Правда, не должно быть адресов типа http://сайт.ru/forumblablabla - иначе сложнее надо писать. И там скобки скорее для красоты, в данном случае.

нет, я уже писал. что не работает это правило

поставил вверх , эффект тот же

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