Регистрация
Вход через соцсети
Восстановление пароля

Правильный 301 редирект

Новый топик
Страницы: 1  |  2
29.04.2012, 16:33
Ответить | Цитировать
Kiano

Зарегистрирован:
2012-04-19
Сообщений: 32

Ещё раз здравствуйте.
Не пойму как сделать правильный,с точки зрения оптимизации, 301 редирект с одних страниц,на другую.

Если в админке, в переадресации прописать старый и новый URL,то редирект происходит,но со старых страниц код 302,а не 301.

Если прописать в .htaccess,то 301 ответ получаю,но при редиректе на новый URL,в строке адреса появляется:
http://www.мой сайт.com/?REQUEST_URI=xxxxx/

В .htaccess пробовал разные варианты редиректа:
Redirect 301 /old-page.html http://new-domain.ru/new-page.html
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
RedirectPermanent /old-url.html http://new-site.ru/new-url.html

Результат,как выше написал.Что делать?Как это поправить?
Заранее спасибо!
30.04.2012, 06:04
Ответить | Цитировать
Asiat
Аниматика
Asiat

Зарегистрирован:
2005-12-12
Сообщений: 567

В инструменте для переадресаций можно выбрать между 301 и 302 кодом.
Если нельзя, то обновите версию.

Разработка сайтов на Netcat с 2006... хм-м ... или 2005 хммм года. В общем, обращайтесь.
30.04.2012, 16:04
Ответить | Цитировать
Kiano

Зарегистрирован:
2012-04-19
Сообщений: 32

Цитата:
В инструменте для переадресаций можно выбрать между 301 и 302 кодом.
Если нельзя, то обновите версию.


В .htaccess никак не настроить?думает
01.05.2012, 06:26
Ответить | Цитировать
Asiat
Аниматика
Asiat

Зарегистрирован:
2005-12-12
Сообщений: 567

Да почему, можете и htaccess помучить
Например, пресловутая переадресация на www/без www работает вполне нормально через mod_rewrite:

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

Обратите внимание на флаг L (последнее преобразование), возможно, вам для экспериментов его не хватало.

Разработка сайтов на Netcat с 2006... хм-м ... или 2005 хммм года. В общем, обращайтесь.
01.05.2012, 18:25
Ответить | Цитировать
Kiano

Зарегистрирован:
2012-04-19
Сообщений: 32

Переадресация без www/на www уже давно сделано.При чём тут это?
Мне нужно только убрать из url http://www.мой сайт.com/?REQUEST_URI=xxxxx/.
Ответ 301 происходит,но адрес кривой,с точки зрения оптимизации.
02.05.2012, 12:44
Ответить | Цитировать
Asiat
Аниматика
Asiat

Зарегистрирован:
2005-12-12
Сообщений: 567

Цитата:
Переадресация без www/на www уже давно сделано.При чём тут это?

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

Разработка сайтов на Netcat с 2006... хм-м ... или 2005 хммм года. В общем, обращайтесь.
02.05.2012, 16:47
Ответить | Цитировать
Kiano

Зарегистрирован:
2012-04-19
Сообщений: 32

Цитата:
Цитата:
Переадресация без www/на www уже давно сделано.При чём тут это?

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


У меня так и прописан редирект без www/на www,как вы написали и он работает.
Я ещё раз повторяю,что при директивах в .htaccess происходит 301 редирект,как при переадресации www/www,так и при переадресации со старых страниц на новые.НО во втором варианте,добавляется окончание к url вида:
/?REQUEST_URI=xxxxx/ - это и является проблемой!
03.05.2012, 15:05
Ответить | Цитировать
Asiat
Аниматика
Asiat

Зарегистрирован:
2005-12-12
Сообщений: 567

Kiano, вы меня простите, но... вам шашечки или ехать?
Не подскажу навскидку, почему вариант через Redirect 301 не срабатывает как надо.
Но вот вам вполне рабочий 301 вариант для конкретной страницы через вышеупомянутый модрерайт, щас только проверил на тестовом сайте:

RewriteRule ^tours/catalog/tour_1024.html$ /tours/catalog/ [R=301,L]

Вставлять после RewriteEngine On

Разработка сайтов на Netcat с 2006... хм-м ... или 2005 хммм года. В общем, обращайтесь.
03.05.2012, 20:01
Ответить | Цитировать
Kiano

Зарегистрирован:
2012-04-19
Сообщений: 32

Спасибо!но как прописать для таких url

редирект с www.сайт.com/страница.html на www.сайт.com

редирект с www.сайт.com/страница/ на www.сайт.com

Тут другие пути к страницам...
04.05.2012, 08:08
Ответить | Цитировать
Asiat
Аниматика
Asiat

Зарегистрирован:
2005-12-12
Сообщений: 567

Так ничего же не меняется...

RewriteRule ^страница.html$ / [R=301,L]

так тоже должно
RewriteRule ^страница.html$ http://domain.ru [R=301,L]

Если вопрос именно с кириллицей в htaccess, то проверьте еще, чтоб кодировки в файле и на сайте совпадали...

Разработка сайтов на Netcat с 2006... хм-м ... или 2005 хммм года. В общем, обращайтесь.
08.05.2012, 22:35
Ответить | Цитировать
Kiano

Зарегистрирован:
2012-04-19
Сообщений: 32

Неа,не получается.Отдаёт ответ 302,а не 301.
Кстати,когда удалил в админке переадресацию одной страницы,и прописал только вашу команду,то вообще редиректа не было,ответ 200 OK.
Посмотрите пожалуйста,может не так прописал:

<ifModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ /netcat/require/e404.php?REQUEST_URI=$1 [L,QSA]
</ifModule>

RewriteEngine On
RewriteCond %{HTTP_HOST} ^мой сайт.com
RewriteRule (.*) http://www.мой сайт.com/$1 [R=301,L]


RewriteEngine On
RewriteRule ^notary.html$ http://www.мой сайт.com [R=301,L]
198 196 2012-05-30 21:44:47 12074
Страницы: 1  |  2
Описание проекта