Настроить редирект в .htaccess

nik_kent
На сайте с 05.02.2008
Offline
193
690

Нужно сделать 301-й со страницы http://www.site.ru/content/?id=9 на страницу http://www.site.ru/razdel/stranica/about/.

Содержимое файла .htaccess:

Options +ExecCGI

AddHandler cgi-script .cgi .pl
AddType application/x-httpd-cgi .cgi

Redirect 301 /content/?id=9 http://www.site.ru/razdel/stranica/about/

php_value register_globals 1
php_flag register_globals on

#NEW SECTION
AddDefaultCharset Off

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^.htaccess$ - [F]
RewriteCond %{REQUEST_FILENAME} !\.(jpg|jpeg|gif|png|css|js|pl|txt)$
RewriteCond %{REQUEST_FILENAME} !([A-za-z0-9]+\.(php))$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

#RewriteCond %{REQUEST_URI} !^(/vasy/|/img/|/images/|/admin/|/files/|/i/|/docs/|/js/|/jscalendar/|/price/|/templates/).* [NC]
RewriteCond %{REQUEST_URI} !^(/_forum/|/banners/|/card/|/catalog/|/content/|/css/|/flash/|/gallery/|/hr/|/inc/|/map/|/mysite/|/news/|/newyear/|/order/|/oteli/|/photogallery/|/pics/|/scripts/|/search/|/thumbs/|/_forum/|/img/|/images/|/admin/|/files/|/i/|/docs/|/js/|/jscalendar/|/price/|/templates/).* [NC]

RewriteRule ^.*(/index.php)?l?$ /index2.php [QSA]
AddHandler application/x-httpd-php .js

Проблемы видимо возникают из-за знака вопроса в урле.

Что не правильно? Как сделать, чтобы работало?

С уважением, Николай.
J
На сайте с 02.02.2009
Offline
53
#1

RewriteRule /content/\?id=9 http://www.site.ru/razdel/stranica/about/ [R=301,L]

nik_kent
На сайте с 05.02.2008
Offline
193
#2

jumash, не помогло :(

А может еще дело в слеше на конце новой страницы?

J
На сайте с 02.02.2009
Offline
53
#3

нет,не в этом

попробуйте

RewriteRule content/\?id=9 http://www.site.ru/razdel/stranica/about/ [R=301,L]

кроме того - правило надо вставлять после RewriteEngine On

nik_kent
На сайте с 05.02.2008
Offline
193
#4
jumash:
попробуйте
RewriteRule content/\?id=9 http://www.site.ru/razdel/stranica/about/ [R=301,L]

Все равно не помогло.

А никаких глобальных косяков в этом .htaccess нет?

nik_kent добавил 08.04.2009 в 14:57

jumash:
кроме того - правило надо вставлять после RewriteEngine On

Да, это мы знаем.

M
На сайте с 17.04.2008
Offline
88
MBo
#5

нужно удалить эту строку


Redirect 301 /content/?id=9 http://www.site.ru/razdel/stranica/about/

и добавить после RewriteRule ^.htaccess$ - [F]


RewriteRule ^.htaccess$ - [F]
RewriteCond %{QUERY_STRING} id=9$
RewriteRule ^/?content/$ /razdel/stranica/about/? [R=301,L]
J
На сайте с 02.02.2009
Offline
53
#6
MBo:
нужно удалить эту строку

Redirect 301 /content/?id=9 http://www.site.ru/razdel/stranica/about/

и добавить после RewriteRule ^.htaccess$ - [F]

RewriteRule ^.htaccess$ - [F]
RewriteCond %{QUERY_STRING} id=9$
RewriteRule ^/?content/$ /razdel/stranica/about/? [R=301,L]

о, спасибо, постоянно забываю про него :DDDDD

Сорри за введение в заблуждение+)

nik_kent
На сайте с 05.02.2008
Offline
193
#7
MBo:
нужно удалить эту строку

Redirect 301 /content/?id=9 http://www.site.ru/razdel/stranica/about/

и добавить после RewriteRule ^.htaccess$ - [F]

RewriteRule ^.htaccess$ - [F]
RewriteCond %{QUERY_STRING} id=9$
RewriteRule ^/?content/$ /razdel/stranica/about/? [R=301,L]

О, спасибо! Заработало :)

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