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

M
На сайте с 03.02.2010
Offline
136
#591

Подскажите пожалуйста. Есть отдельный домен для редиректа, и там такой htaccess редирект используется


RewriteCond %{QUERY_STRING} ^id1$
RewriteRule (.*) http://site.com [R=301,L]

RewriteCond %{QUERY_STRING} ^id2$
RewriteRule (.*) http://site2.com [R=301,L]

Ссылки для редиректа выглядят так http://mysite.com/?id1, http://mysite.com/?id2

Проблема в том, что например яндекс добавляет к ссылке какой нибудь параметр, к примеру http://mysite.com/?id2&test_tag и ссылка уже не работает.

Как изменить код чтобы редирект происходил даже если к ссылке какие то дополнительные параметры добавляются?

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

meteora,

RewriteCond %{QUERY_STRING} ^id1
Но только id не должны совпадать так, что один id по первым знакам является частью другого id. В том смысле, что если id1 равен asdf, то id2 не должен быть asdfgh. И наоборот. А если это условие невыполнимо, то чуть по-другому RewriteCond писать надо будет.
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
dimidrol
На сайте с 29.09.2005
Offline
191
#593
dimidrol:
Вопрос: так получилось что у меня образавалось куча дублей по средством

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

????

нашел такое вот решение, может кому понадобитЬся


#------------------/gallery/xxxx/001.jpg?t=1454067321
RewriteCond %{HTTP_HOST} site.ru
RewriteCond %{REQUEST_FILENAME} \.(jpeg|jpg)
RewriteCond %{QUERY_STRING} ^t=(.*)
RewriteRule gallery(.*)$ https://www.site.ru/gallery$1? [L,R=301]
Иногда полезно проигрывать - это держит тебя в тонусе... Мне так рассказывали (с) Shark Покупаю сайты (стройка/отделка/стройматериалы) по адекватной цене. Предложения в личку. Траф - обязателен
HJ
На сайте с 14.02.2006
Offline
274
#594

Подскажите, как прописать 301 редиррект со всех страниц папки */folder/* на главную?

HJ
На сайте с 14.02.2006
Offline
274
#595
happy-joker:
Подскажите, как прописать 301 редиррект со всех страниц папки */folder/* на главную?

Исходный htaccess выглядит так:


# 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
###################################

Нашел способ:

RewriteRule ^folder/ / [L,R=301]

Но простое добавление ничего не дает.

Что я делаю не так?

Dron1987
На сайте с 24.12.2010
Offline
104
#596

Что то у меня не выходит настроить редирект.

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

Это звучит очень просто, но вот хоть глаз выколи, полного редиректа найти не могу =)

Спасибо!

Э
На сайте с 11.08.2009
Offline
191
#597

Не думал что это будет проблемой.

Нужно средиректить вордпресс на https://www.

Попробовал разные варианты, вроде как этот на сайте 4web точка su/s_redirect/ показывает что редирект происходит

RewriteEngine On

RewriteCond %{HTTPS} !=on

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]

RewriteRule ^ %{ENV:PROTO}://%1%{REQUEST_URI} [R=301,L]

но в реальности странички без редиректа открываются по http

RewriteCond %{HTTP_HOST} !^www\. [NC]

RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

этот редирект тоже не редиректит (((

S
На сайте с 30.09.2016
Offline
469
#598
happy-joker:
Но простое добавление ничего не дает.
Что я делаю не так?

Во-первых, это вариант для расположения folder после домена (адрес типа site.com/folder/). Во-вторых, если это не физический файл, надо не добавлять, а вставлять до вордпрессовских директив (после строки RewriteBase /)

Э
На сайте с 11.08.2009
Offline
191
#599
Эдуардoff:
Не думал что это будет проблемой.
Нужно средиректить вордпресс на https://www.
Попробовал разные варианты, вроде как этот на сайте 4web точка su/s_redirect/ показывает что редирект происходит

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ %{ENV:PROTO}://%1%{REQUEST_URI} [R=301,L]

но в реальности странички без редиректа открываются по http

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

этот редирект тоже не редиректит (((

Сам себе отвечу.

Помогло

RewriteCond %{HTTP_HOST} ^site\.com$ [NC]

RewriteRule ^(.*)$ https://www.site.com/$1 [R=301,L]

может это не совсем правильно, но вроде и редиректит и с ввв и без ssl на https://www

MF
На сайте с 12.06.2017
Offline
24
#600

/ru/forum/686947

Проблема такая же но в пределах 2х доменов, кто то знает как ее решить?

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