301 редирект не получается

12 3
Юпи-с
На сайте с 30.07.2006
Offline
230
1585

Всем привет, подскажите, нужно чтобы при заходе на страницу

http://site.ru/forum/blog.php?b=19

шел 301 редирект на

http://site.ru/forum/forumdisplay.php?f=173

Делаю так

RewriteEngine On

RewriteCond %{QUERY_STRING} ^b=19$

RewriteRule ^forum/blog\.php$ http://%{HTTP_HOST}/forum/forumdisplay.php?f=173 [R=301,L]

не получается,

Где ошибка?

siv1987
На сайте с 02.04.2009
Offline
427
#1

Юпи-с, с виду все написано правильно.

В какую папку вставляете, в корень или папку форума?

[Удален]
#2

RewriteEngine On
RewriteRule ^forum/blog.php?b=19 /forum/forumdisplay.php?f=173 [L,R=301]

RewriteEngine On
RewriteRule ^forum/blog.php?b=19 http://%{HTTP_HOST}/forum/forumdisplay.php?f=173 [L,R=301]

вроде как то так

в корень сайта разумеется, или как то так

RewriteEngine On
RewriteRule ^blog.php?b=19 /forum/forumdisplay.php?f=173 [L,R=301]

P\S:

Redirect 301 razdel/old-page1.html http://site.ru/new-page1.html
Redirect 301 razdel/old-page2.html http://site.ru/new-page2.html
Redirect 301 razdel/old-page3.html http://site.ru/new-page3.html
Redirect 301 razdel/ http://site.ru/some-page.html

Redirect 301 /old-page.html http://site.ru/new-page.html
или
Redirect permanent /old-page.html http://site.ru/new-page.html

RewriteRule ^new1/photos.html /new_photos.html [L,R=301]
RewriteRule ^new1(.*)$ /new.php [L,R=301]

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

ЗЫ: много сильно инфы дал ))

UPDATE: поправил там ошибку

можешь также прописать просто в самый верх index.php


<?php
if($_SERVER['REQUEST_URI'] == '/forum/blog.php?b=19') {
header('location: /forum/forumdisplay.php?f=173');
exit();
}
?>
Юпи-с
На сайте с 30.07.2006
Offline
230
#3

siv1987, да везде вставлял, и в корень и в папку форума, хм... странно.

KosoyRoman, не хочется трогать index, да и мне нужно 301 еще и для ПС тоже. Первые три варианта попробовал ваши - не работает.

Чудеса прям...

[Удален]
#4
Юпи-с:
siv1987, да везде вставлял, и в корень и в папку форума, хм... странно.

KosoyRoman, не хочется трогать index, да и мне нужно 301 еще и для ПС тоже. Первые три варианта попробовал ваши - не работает.

Чудеса прям...

Стукни в асю помогу 444600708

siv1987
На сайте с 02.04.2009
Offline
427
#5
Юпи-с:
да везде вставлял, и в корень и в папку форума, хм... странно.

Это варинт подходит только для корня, в папке форума не будет работать. Вставляйте в самом начале если какие-то редиректы/реврайты.

siv1987 добавил 12.12.2011 в 16:26

Юпи-с:
да и мне нужно 301 еще и для ПС

301 он один для всех

kdv12
На сайте с 05.12.2011
Offline
52
#6


RewriteEngine On
RewriteRule ^forum/blog\.php\?b=19 /forum/forumdisplay.php?f=173 [L,R=301]

А так?

Разработка сайтов любой сложности на 1С-Битрикс. Бесплатные консультации.
Юпи-с
На сайте с 30.07.2006
Offline
230
#7

kdv12, неа, не хочет работать. Ставлю в корень в самый верх файла.

Пока тут пробовал этот момент, нашел еще один косяк, стоит у меня такая классическая штука

RewriteEngine On

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

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

Если набираешь www.site.ru то все нормально перекидывает на site.ru, а вот если набираешь www.site.ru/forum/ то перекидывает на главную site.ru, а должно site.ru/forum/

kdv12
На сайте с 05.12.2011
Offline
52
#8
Юпи-с:
kdv12, неа, не хочет работать. Ставлю в корень в самый верх файла.

Извиняюсь за может глупый вопрос, но у вас mod_rewrite установлен? 🙄

kdv12 добавил 12.12.2011 в 17:20

Можно не отвечать. Ответ увидел :)

[umka]
На сайте с 25.05.2008
Offline
456
#9
Юпи-с:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

Если набираешь www.site.ru то все нормально перекидывает на site.ru, а вот если набираешь www.site.ru/forum/ то перекидывает на главную site.ru, а должно site.ru/forum/

Посмотрите каким-нибудь дебагером, какие именно редиректы происходят, или включите RewriteLog.

Вот этот ваш код не должен редиректить на главную. Тут скорее всего ещё какие-то строчки принимают участие.

Лог в помощь!
Юпи-с
На сайте с 30.07.2006
Offline
230
#10

[umka], я думаю дело в том, что форум у меня установлен в папку, и когда заходишь на форум, то как бы минуя главную, т.е. надо прописать такое правило но относительно папки /forum/

так?

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.site.ru/forum$ [NC]

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

и закинуть файл в папку форума

12 3

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