11 ответов

Откуда/куда вы хотите настроить редирект?
Вот пример с таймвеба, на сайт залинковано несколько доменов и идет редирект на один основной
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^site\.ru$ [NC]
RewriteRule ^(.*) http://site.ru/$1 [L,R=301]
</IfModule>

Еще раз прошу, напишите, с какого на какой домен вы хотите настроить редирект

Евгений Брама
31.03.2016 16:19

Вот ответ сервера при запросе к amagspb.ru из него следует, что сейчас стоит 302 редирект. Вот его хотим изменить на 301.

HTTP/1.1 302 Moved Temporarily
Server: nginx/1.6.3
Date: Thu, 31 Mar 2016 13:17:53 GMT
Content-Type: text/html
Content-Length: 160
Connection: keep-alive
Location: http://www.amagspb.ru/

1) Сайт на хостинге или сервере
2) если на хостинге, то покажите содержимое .htaccess
3) если на сервере, то какой стоит веб-сервер, nginx или apache

Андрей
31.03.2016 17:43

если на хостинге, то 302 у меня для сайта с сертификатом отдавался при включенном перенаправлении в настройках сайта (тех что в панели управления). Я решил эту проблему, настроив переправление в htaccess и отключив в настройках. Заработало.

Можете подробней рассказать, где в настройках сайта отключить перенаправление 302? В панели управления Битрикс в "Настройки продукта" -
"Сайты" - "Список сайтов" - не нашел такой настройки.

Евгений Брама
31.03.2016 16:23

php_value display_errors 1
#php_value error_reporting "E_NOTICE"

ErrorDocument 404 /404
ErrorDocument 401 /password.php

#RewriteCond %{HTTP:X-HTTPS} !1
#RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

<IfModule mod_rewrite.c>
#Options +FollowSymLinks
#RewriteEngine on
#RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
#RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

</IfModule>

RewriteEngine on



#RewriteCond %{HTTP_HOST} ^amagspb.ru
#RewriteRule (.*) http://www.amagspb.ru/$1 [R=301,L]

#RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php|html)\ HTTP
#RewriteRule ^(.*)index\.(php|html)$ /$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(?!search)(.+)/$ /$1 [R=301,L]

Евгений Брама
31.03.2016 17:06

<IfModule mod_rewrite.c>
#Options +FollowSymLinks
#RewriteEngine on
#RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
#RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

</IfModule>

Евгений Брама
31.03.2016 17:13

Данный код дал саппорт таймвеба, но он не работает так же

Андрей
31.03.2016 17:46

# пробовали удалять? они отключают команды. И что за перенаправление то требуется? с http на https? Вот для такого:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

СПИИРАН, м.н.с.

У меня похожая проблема, подскажите, пожалуйста. Прописываю в htaccess правило:
RewriteRule ^matras-category/(.*)$ /$1 [R=301,L]
Чтобы оно сработало для ряда страниц где в URL есть matras-category/, но не срабатывает. Простой редирект для одной страницы при этом срабатывает:
Redirect 301 /matras-category/pruzhinnye-matrasy/ https://matras-vam.ru/pruzhinnye-matrasy/