Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Помогите сделать 301 с одного сайта на другой

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

admirator

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть старый сайт - onlinekiosk.by
Есть новый сайт - oki.by
 
Они лежат на одном сервере и в одном каталоге. Соответственно, htaccess у них общий. Т.е. это один и то же сайт, но с разными доменами.
 
Помогите пожалуйста сделать 301 со старого сайта на новый.

Всего записей: 40 | Зарегистр. 21-08-2013 | Отправлено: 14:45 15-03-2020
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
admirator
Ну есть же тема mod_rewrite: документация, готовые решения, вопросы
И физическое расположение тут не играет роли. Достаточно просто сделать
RewriteEngine On
RewriteRule ^(.*)$ http://другой.домен/$1 [R=301,L]
 
Либо
Redirect 301 / http://другой.домен

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 15:05 15-03-2020 | Исправлено: Mavrikii, 15:07 15-03-2020
admirator

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я уже перепробовал кучу вариантов.
 
При Redirect 301 / http://oki.by
и при  
RewriteRule ^(.*)$ http://oki.by/$1 [R=301,L]
 
получается вот так: ввожу http://onlinekiosk.by и получаю это https://prnt.sc/rgo6uz
 
А если убрать "Redirect 301 / http://oki.by" или "RewriteRule ^(.*)$ http://oki.by/$1 [R=301,L]", то при вводе "onlinekiosk.by" получаю нормальный ответ https://onlinekiosk.by/
 
Т.е. при включенном редиректе http://onlinekiosk.by/ превращается в http://oki.by/, но НЕ ОТКРЫВАЕТСЯ.
 
 
ТАК, http (обоих сайтов) превращается просто в https и нормально работает, но без переименования домена:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
 
#RewriteCond %{REQUEST_URI} (.*)
#RewriteRule ^(.*)$ http://oki.by/$1 [L,R=301]
 
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^/?(.*) http://%1/$1 [L,R=permanent]
 
RewriteCond %{HTTPS} off
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [L,R=permanent]
 
</IfModule>
 
 
ТАК, http://onlinekiosk.by/ превращается в http://oki.by/, НО НЕ ОТКРЫВАЕТСЯ:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
 
RewriteCond %{REQUEST_URI} (.*)
RewriteRule ^(.*)$ http://oki.by/$1 [L,R=301]
 
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^/?(.*) http://%1/$1 [L,R=permanent]
 
RewriteCond %{HTTPS} off
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [L,R=permanent]
 
</IfModule>
 
 
Что не так?
 

Всего записей: 40 | Зарегистр. 21-08-2013 | Отправлено: 17:04 15-03-2020 | Исправлено: admirator, 17:21 15-03-2020
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
admirator
Раз в одном каталоге, то иначе (с планшета, не все прочитал)
RewriteEngine On
RewriteCond %{HTTP_HOST} !^другой\.домен [NC]
RewriteRule ^(.*)$ http://другой.домен/$1 [R=301,L]
Или так, если будет слэш лишний хватать
RewriteRule ^/(.*)$ http://другой.домен/$1 [R=301,L]
 
 
Или для апача 2.4 и выше
<If "%{HTTP_HOST} != 'другой.домен'">
    Redirect / http://другой.домен/
</If>

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 19:43 15-03-2020 | Исправлено: Mavrikii, 19:46 15-03-2020
admirator

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот в таком варианте, трансфер с onlinekiosk.by на oki.by работает.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
<If "%{HTTP_HOST} != 'oki.by'">  
     Redirect / http://oki.by/  
</If>
 
RewriteCond %{HTTPS} off
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [L,R=permanent]
 
</IfModule>
 
Но как только хочешь пойти глубже по сайту, например сюда
https://oki.by/nauka-i-zhizn-22020
или сюда
https://oki.by/burda-burda-72019 , то получаю 404.
 
Что подправить?

Всего записей: 40 | Зарегистр. 21-08-2013 | Отправлено: 20:33 15-03-2020 | Исправлено: admirator, 20:38 15-03-2020
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
admirator

Цитата:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
<If "%{HTTP_HOST} != 'oki.by'">  
     Redirect / http://oki.by/  
</If>
 
RewriteCond %{HTTPS} off
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [L,R=permanent]
 
</IfModule>

 
зачем вы городите такие конструкции? если редирект, то он не должен быть внутри Rewrite правил (может, но такое расположение ухудшает читабельность.. но, ваше дело)
 
и я не вижу 404.
 

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 20:50 15-03-2020 | Исправлено: Mavrikii, 20:50 15-03-2020
admirator

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
зачем вы городите такие конструкции? если редирект, то он не должен быть внутри Rewrite правил (может, но такое расположение ухудшает читабельность.. но, ваше дело)    и я не вижу 404.  

 
Спасибо. 404 нет, потому что я подправил файл.
 
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
 
Options All -ExecCGI -Indexes -Includes +FollowSymLinks
 
<If "%{HTTP_HOST} != 'oki.by'">  
     Redirect 301 / http://oki.by/  
</If>
 
RewriteCond %{HTTPS} off
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [L,R=301]
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ / [L,QSA]
 

Всего записей: 40 | Зарегистр. 21-08-2013 | Отправлено: 20:25 29-03-2020
admirator

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день всем.
 
Все нормально работало с переадресацией onlinekiosk.by - > oki.by, но недавно появилась еще одна проблема, связанная с переадресацией. Дело в том, что все сайты у нас работают на апаче, без CMS. А есть один, который через WordPress. И этот сайт некоторое время назад сломался и его приводили в порядок. Что делали, я не знаю, но возникла проблема. Недавно появилось в яндексе сообщение про связку onlinekiosk.by (который должен перенаправляться на oki.by) и vita.press (это который на WP стоит). Начал я разбираться и вижу, что вместо нормального (того, как было раньше) 301 https://prnt.sc/t4uhi2 я имею https://prnt.sc/t4uish , где четко написано, что редирект делает Вордпресс. И реально, если попытаться войти на onlinekiosk.by , то попадаешь не на oki.by , как раньше, а на https://vita.press/
 
Если я отключаю в апаче https-01-vita.conf, который обрабатывает виртуальный каталог сайта vita.press (т.е. фактически отключаю сайт vita.press), то вся переадресация работает нормально.
 
Я с вордпресс вообще не знаком. Как победить проблему?

Всего записей: 40 | Зарегистр. 21-08-2013 | Отправлено: 12:05 23-06-2020 | Исправлено: admirator, 12:13 23-06-2020
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
admirator

Цитата:
Я с вордпресс вообще не знаком

для вопросов о нем есть тема WordPress
но дело не в WP, переадресация должна происходить до обращения к нему. WP просто перекидывает на сайт, который прописан в его настройках, то есть обслуживает и домен kiosk, хотя настроен (и, видимо, обслуживает по настоящему) обслуживать домен .press
 
это говорит о том, что при восстановлении WP изменили .htaccess или иное место, где была прописана переадресация.
 

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 20:53 23-06-2020
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Помогите сделать 301 с одного сайта на другой


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru