подскажите как правильно использовать rewrite

_mp_
На сайте с 24.01.2006
Offline
36
996

Ранее каталог продукции на сайте отображался на страницах вида:

http://site.ru/catalog.php?cat_id=7 (8,9,10....).

После изменений на сайте продукция стала отображаться на страницах вида http://site.ru/123.php, ...

На старые страницы в интернете осталось много ссылок и я сделал файл .htaccess со следующим содержимым:

RewriteEngine On

RewriteBase /

RewriteCond %{QUERY_STRING} cat_id=7

RewriteRule catalog.php /123.php [L,R]

...

Теперь все пользователи по старым ссылкам приходят на новые страницы http://site.ru/123.php?cat_id=7, причём показывается содержимое страницы http://site.ru/123.php у которой нет параметров.

Вопрос КАК отрезать "?cat_id=7" от получаемого адреса?

Заранее спасибо.

Ремонт авто в Пинске (http://www.pshrot.com)
Лёлик
На сайте с 28.04.2006
Offline
54
#1

Замените все строчки в вашем .htaccess на следующую:

Redirect 301 /catalog.php?cat_id=7 /123.php
_mp_
На сайте с 24.01.2006
Offline
36
#2
Лёлик:
Замените все строчки в вашем .htaccess на следующую:

получил:

500 Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, xxx@xxx.xx and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Лёлик
На сайте с 28.04.2006
Offline
54
#3

Если так :

Redirect 301 /catalog.php?cat_id=7 http://site.ru/123.php
_mp_
На сайте с 24.01.2006
Offline
36
#4
Лёлик:
Если так :

то открывается страница catalog.php, хотя в адресной строке написано http://site.ru/catalog.php?cat_id=7

Лёлик
На сайте с 28.04.2006
Offline
54
#5

Тогда в вашем варианте замените последнюю строчку на:

RewriteRule ^(.*)$ http://site.ru/123.php [R=permanent,L]
_mp_
На сайте с 24.01.2006
Offline
36
#6
Лёлик:
Тогда в вашем варианте замените последнюю строчку на:

долго грузит, потом 100%, но ничего не показывает

в адресной строке ...catalog.php?cat_id=7

DoTJ
На сайте с 09.10.2005
Offline
33
#7
_mp_:
Вопрос КАК отрезать "?cat_id=7" от получаемого адреса?

RewriteRule $catalog.php^ /123.php? [L,R]

Всегда нужны места под статьи Также куплю ссылки с Ваших ресурсов с постоянным размещением
_mp_
На сайте с 24.01.2006
Offline
36
#8
DoTJ:
RewriteRule $catalog.php^ /123.php? [L,R]

спасибо, но не то тоже(((

Лёлик
На сайте с 28.04.2006
Offline
54
#9

Добавьте в начало catalog.php следующие строчки:

<?

if ($QUERY_STRING==="cat_id=7")
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://site.ru/123.php");
exit();
}
else
{
то что было раньше (если оно, вообще, нужно).
}
?>
Если раннее содержимое catalog.php не нужно, то просто сделайте его таким:
<?

if ($QUERY_STRING==="cat_id=7")
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://site.ru/123.php");
exit();
}
?>

А .htaccess можете очистить.

Евгений Иванов
На сайте с 26.07.2006
Offline
272
#10

простите ошибся 😒 и минус получил 😒

Wap.Click / Вап.Клик / Я - рядом!

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