Помогите с редиректом

K
На сайте с 04.12.2012
Offline
2
368

Помогите сделать редирект со всех страниц вида:

site.ru/new.php?id=1…n

на страницы типа:

site.ru/new/123/

уже третий день мучаюсь….

RewriteEngine On

RewriteRule ^new/([^/\.]+)/?$ new.php?id=$1 [L]

теперь страница доступна еще по одному адресу

site.ru/new/123/

и

site.ru/new.php?id=123

вот моя проблема как все адреса вот этого вида

site.ru/new.php?id=123 переадресовывать на новые

UNIT-IS
На сайте с 19.10.2012
Offline
48
#1

Полезная статья с примерами : Наглядное руководство по htaccess и mod_rewrite для новичков

Подходящий пример из статьи:


Создание ЧПУ (человеко-понятных урлов) с помощью mod_rewrite
C его помощью можно преобразовать, например, www.site.ru/product.php?id=123 в www.site.ru/product/123 следующим образом:
RewriteEngine on
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]
В другом примере преобразуем www.site.ru/script.php?product=123 в www.site.ru/cat/product/123/:
RewriteRule cat/(.*)/(.*)/$ /script.php?$1=$2
K
На сайте с 04.12.2012
Offline
2
#2

Читал я эту статью там не написано как сделать пере адресацию со старых url-ов

UNIT-IS
На сайте с 19.10.2012
Offline
48
#3

Попробуйте [R=301,L]

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

Перед RewriteRule ^new/([^/\.]+)/?$ new.php?id=$1 [L]

Добавить

RewriteCond %{ENV:REDIRECT_STATUS} ^$

RewriteCond %{QUERY_STRING} ^id=(\d+)

RewriteRule ^new\.php /new/%1/? [R=301,L]

K
На сайте с 04.12.2012
Offline
2
#5

RewriteEngine On

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{QUERY_STRING} ^id=(\d+)
RewriteRule ^new\.php /new/%1/? [R=301,L]
RewriteRule ^new/([^/\.]+)/?$ new.php?id=$1 [L]

Спасибо все заработало :):):)

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