301 редирект динамических страниц с передачей ID

S0
На сайте с 09.12.2012
Offline
5
1340

Запарился уже искать, немогу сделать в .htaccess 301 редирект со страниц вида:

http://site.ru/index.php?id=news&count=4378

хочу переделать в

http://site.ru/news/sport-4378.html

т.е. нужно одним правилом переделать сразу сотни подобных страниц с разными count...

Заранее Спасибо, поиском не нашел!

Станислав
На сайте с 27.12.2009
Offline
258
#1

В самый верх index.php

<?php

$url = intval($_GET['count']);
if($url) {
header('Location: http://'.$_SERVER['HTTP_HOST']. '/news/sport-'.$url.'.html', true, 301);
}
?>
Мы там, где рады нас видеть.
S0
На сайте с 09.12.2012
Offline
5
#2

Спасибо за вариант, а можно как-то через .htaccess?

Нашел такой вариант:

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/index\.php$

RewriteCond %{QUERY_STRING} ^id=news&i=([0-9]*)$

RewriteRule ^(.*)$ http://site.ru/news/sport-%1.html [R=302,L]

но он делает вот так http://site.ru/news/sport-4378.html?id=news&i=4378

надо как-то все после вопроса убрать...

izbushka
На сайте с 08.06.2007
Offline
110
#3
SB380:
но он делает вот так http://site.ru/news/sport-4378.html?id=news&i=4378

надо как-то все после вопроса убрать...

Вот так:

RewriteRule ^(.*)$ http://site.ru/news/sport-%1.html? [R=302,L]

А чего 302? Вам надо временный редирект?

S0
На сайте с 09.12.2012
Offline
5
#4
izbushka:
Вот так:
RewriteRule ^(.*)$ http://site.ru/news/sport-%1.html? [R=302,L]


А чего 302? Вам надо временный редирект?

Офигительное спасибо! А если я просто 302 заменю на 301 нормально будет?

S0
На сайте с 09.12.2012
Offline
5
#5

И ещё один вопрос по теме:

Ссылку вида http://site.ru/index.php?id=news нужно редиректнуть на

http://site.ru/news/

но дело в том, что на сайте есть ещё ссылки вида http://site.ru/index.php?id=news&p=9 и их трогать не надо...

S0
На сайте с 09.12.2012
Offline
5
#6

Подскажите где можно прочитать подробное руководство по 301 редиректу через .htaccess ? запарился искать...

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#7

Вам изучать mod_rewrite нужно, а редирект это лишь одно из правил, какой выполнять.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/

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