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

SateClub
На сайте с 25.05.2010
Offline
81
#311

Всем привет, уважаемые форумчане.

Поздравляю с пятницей))

Ребят, ну помогите делом. Второй день кручу верчу, не могу составить правильно htaccess...хотя может и не правильный подход у меня.

Значит вот какое дело:

есть url вида region.site.ru/tovar1 который через htaccess редиректит на region.site.ru/script.php?tovar=tovar1.

В файле script.php естественно стоит обработчик, который дергает GETом tovar и тащит из базы всю инфу по tovar1, и собственно рендерит все это дело на страницу.

Все работает, и это замечательно, но есть одно НО. Появилась необходимость сделать мобильную версию, и тут начались проблемы.

Мобильная версия находится тут: region.site.ru/m/tovar1

на script.php есть JS код, который по ширине страницы редиректит на мобильную версию. Соответственно при заходе на region.site.ru/tovar1 с мобильного устройства, скрипт кидает человечка на region.site.ru/m/tovar1 и вот тут начинается трабла. Сейчас выдается 404 ошибка.

Как заставить htaccess при заходе по адресу region.site.ru/m/tovar1 перекинуть запрос на region.site.ru/m/script.php?tovar=tovar1

Попробовал сделать так:

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.region.site\.ru$ [NC]

RewriteRule ^(.*)$ http://region.site.ru/$1 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-l

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^m/(.*)$ m/script.php?tovar=$1 [L,QSA]

RewriteRule ^(.*)$ script.php?tovar=$1 [L,QSA]

ErrorDocument 404 /404.html

</IfModule>

Но увы, не получается. Меня всегда отправляет на m/script.php

Помогите пожалуйста добрым словом, а лучше делом.

Извиняюсь, если не в тот раздел написал.

Вечно прошу помощи )
G1
На сайте с 06.08.2010
Offline
196
#312

Добрый вечер.

Был старый сайт, сделали новый. Он на другом CMS, с другой структурой URL и даже на новом домене. Как правильно сделать 301 редирект, чтобы домены склеились?

Мы выписали список всех старых урлов (штук 500) при обращении к ним должно перебрасывать на новые урлы на новом домене, при обращении на главную страницу старого сайта, должно перебрасывать на главную нового сайта. Как это реализовать?

G1
На сайте с 06.08.2010
Offline
196
#313

Пришла такая мысль:

1. На старом домене (сайте) в htaccess прописываю 301 редирект со всех страниц на новый домен.

RewriteCond %{HTTP_HOST} ^domaim1\.com
RewriteRule ^(.*)$ http://domain2.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.domain1\.com
RewriteRule ^(.*)$ http://domain2.com/$1 [R=301,L]

2. А на новом домене (сайте) в htaccess прописываю список старых урлов и направляю их на новые адреса (т.к. структура урлов сменилась).

Redirect 301 /old-page.html http://domain2.com/new-page.html

Все правильно будет?

E
На сайте с 22.06.2016
Offline
45
#314

Зачем делать два перенаправления? 500 штук – тяжеловато. Нужно сделать на отдельном сайте. Для этого существуют специальные скрипты. Если не найдете в открытом доступе, можно и написать – это не очень сложно.

Samail
На сайте с 10.05.2007
Offline
361
#315
Gagarin12:
А на новом домене (сайте) в htaccess прописываю список старых урлов и направляю их на новые адреса (т.к. структура урлов сменилась).

Что мешает отправлять на нужные страницы сразу с старого сайта?

G1
На сайте с 06.08.2010
Offline
196
#316

Samail, как это можно сделать?

На старом сайте прописать так?


RewriteCond %{HTTP_HOST} ^domaim1\.com
RewriteRule ^(.*)$ http://domain2.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.domain1\.com
RewriteRule ^(.*)$ http://domain2.com/$1 [R=301,L]

Redirect 301 /old-page.html http://domain2.com/new-page.html
tommy-gung
На сайте с 22.11.2006
Offline
287
#317

загоните все старые и новые ссылки в массив и проверяйте перенаправляйте на новый сайт скриптом

Здесь не могла быть ваша реклама
totamon
На сайте с 12.05.2007
Offline
437
#318
Gagarin12:
Как правильно сделать 301 редирект, чтобы домены склеились?

чтобы домены склеились в яндексе, нужно указать директиву host в robots.txt и в яндекс.вебмастер указать "переезд сайта", для гугла нужно 301 редирект. вообще в гугле куча статей по теме, в том числе на этом форуме, какой смысл еще раз расписывать эти баяны?

Gagarin12:
Как это реализовать?

фееричный вопрос от "вебстудии"...

Домены и хостинг https://8fn.ru/regru | Дедик от 3000р https://8fn.ru/73 | VPS в Москве https://8fn.ru/72 | Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno | ХОСТИНГ №1 РОССИИ https://8fn.ru/beget
Samail
На сайте с 10.05.2007
Offline
361
#319
Gagarin12:
Samail, как это можно сделать?

Редирект с главной на новую главную поставьте после редиректов внутренних страниц. И редиректы все пропишите на старом сайте, новому это совсем ни к чему, всю жизнь 500 лишних строк ворочать.

G1
На сайте с 06.08.2010
Offline
196
#320
Samail:
Редирект с главной на новую главную поставьте после редиректов внутренних страниц. И редиректы все пропишите на старом сайте, новому это совсем ни к чему, всю жизнь 500 лишних строк ворочать.

А как быть со страницами старого сайта, которые будут не прописаны в .htaccess? Они же будут доступны?

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