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

JayD
На сайте с 26.06.2007
Offline
86
#371

Как сделать в .htaccess 301 редирект с https://site.com на https://www.site.com?

Нашел рабочий вариант

RewriteCond %{HTTP_HOST} ^site.ru
RewriteRule ^(.*)$ https://www.site.ru/$1 [R=permanent,L]
D
На сайте с 20.09.2010
Offline
175
#372

Подскажите, у меня такая проблема: перевел сайт на https и не могу сделать для него 301 редирект. Пробовал такой код:

RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Что самое интересное, на втором моем сервере этот код нормально работает, а на первом поддержка ничем помочь не может, говорят что они не программисты)

---------- Добавлено 21.12.2016 в 10:25 ----------

так же пробовал такие варианты:

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
RewriteEngine On
RewriteCond %{HTTPS} =on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

+ пробовал вариант с редиректом на пхп

Во всех вариантах одна и та же ошибка(пробовал с 3 разных компьютеров):

The page isn’t redirecting properly | Неверное перенаправление на странице (Эта проблема может возникать при отключении или запрещении принятия кук.)

chrome:

ERR_TOO_MANY_REDIRECTS

emariaru
На сайте с 26.10.2010
Offline
73
#373

ну так может сервер не на apache? тогда на nginx редирект надо прописывать, либо на пхп

техподдержку, которая так отвечает, надо на йух отправлять

D
На сайте с 20.09.2010
Offline
175
#374
emariaru:
ну так может сервер не на apache? тогда на nginx редирект надо прописывать, либо на пхп
техподдержку, которая так отвечает, надо на йух отправлять

сделал echo phpinfo();

пишет:

Apache Version Apache/2.2.15 (CentOS)

nginx - строк таких нет вообще, значит его нет?

T1
На сайте с 14.12.2016
Offline
25
#375
datum:
сделал echo phpinfo();
nginx - строк таких нет вообще, значит его нет?

Да, у вас апач. Странная ошибка, судя по коду всё сделано правильно.

V7
На сайте с 27.11.2010
Offline
136
#376

Добрый день уважаемые форумчане.

Подредактировал движок сайта, убрав из материала id материала, в результате чего все ссылки типа

http://site.ru/shkafy-kupe/107-shkaf-kupe-radiusnyj.html

http://site.ru/prikhozhie/127-prikhozhaya-tatyana.html

и т.д. (всего несколько тысяч подобных страниц)

теперь приобрели вид

http://site.ru/shkafy-kupe/shkaf-kupe-radiusnyj.html

http://site.ru/prikhozhie/prikhozhaya-tatyana.html

Боюсь что как бы яндекс на меня не обиделся.

Вопрос - как через htaccess сделать переадресацию со старых URL на новые ?

К
На сайте с 20.12.2016
Offline
1
#377

Постраничный редирект не предлагать ? Тоже были проблемы с "дублями", ничего не предпринимал (кроме борьбы с дублями), яндекс сам обошел все страницы, старые постепенно отваливались, и появились новые.

SC
На сайте с 22.01.2011
Offline
101
#378

Как сделать 301 редирект чтобы эти две страницы:

http://site.com/rezultaty/?PAGEN_1=10&t=190

http://site.com/rezultaty/?t=190&PAGEN_1=10

редиректили на эту

http://site.com/rezultaty/?PAGEN_1=10

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


RewriteCond %{QUERY_STRING} =t=190&PAGEN_1=10 [OR]
RewriteCond %{QUERY_STRING} =PAGEN_1=10&t=190
RewriteRule ^rezultaty/$ /$0?PAGEN_1=10 [R=301,L]

Или


RewriteCond %{QUERY_STRING} (?:^|&)t=190(?:&|$)
RewriteCond %{QUERY_STRING} (?:^|&)(PAGEN_1=10)(?:&|$)
RewriteRule ^rezultaty/$ /$0?%1 [R=301,L]
vaf76:
Подредактировал движок сайта, убрав из материала id материала, в результате чего все ссылки типа
http://site.ru/shkafy-kupe/107-shkaf-kupe-radiusnyj.html
http://site.ru/prikhozhie/127-prikhozhaya-tatyana.html
и т.д. (всего несколько тысяч подобных страниц)

теперь приобрели вид
http://site.ru/shkafy-kupe/shkaf-kupe-radiusnyj.html
http://site.ru/prikhozhie/prikhozhaya-tatyana.html

RewriteRule ^([^/]+/)\d+-([^/]+\.html)$ /$1$2 [R=301,L]
SC
На сайте с 22.01.2011
Offline
101
#380

Заработало. Спасибо большо

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