Прошу помочь с 301 редиректом в .htaccess

Asar
На сайте с 23.08.2004
Offline
334
563

Задачка для пятого класса. Однако-ж, где-то глючу, видимо. Потому вопрос:

Какая формулировка для .htaccess будет правильной, чтобы сделать 301 редирект всех страниц вида /index.php?cat=5 на страницы вида /?cat=5 ?

K
На сайте с 23.10.2004
Offline
159
#1

наверное так:

RewriteEngine On

RewriteRule ^/index.php?cat=5$ http://www.адрес-сайта.ru/?cat=5 [R=301]

D
На сайте с 29.03.2010
Offline
0
#2

А как преобразовать все ссылки вида http://site.ru/articles0, http://site.ru/articles1 и т.д. в такой вид:

http://site.ru/ru/articles0 и т.д. Меняется только число.

Iskatelnica
На сайте с 26.09.2008
Offline
27
#3
Asar:
Задачка для пятого класса. Однако-ж, где-то глючу, видимо. Потому вопрос:
Какая формулировка для .htaccess будет правильной, чтобы сделать 301 редирект всех страниц вида /index.php?cat=5 на страницы вида /?cat=5 ?

Пока с .htaccess только разбираюсь и могу ошибаться как правильнее, но у меня срабатывает подобная инструкция:

RewriteEngine On

RewriteBase /

RewriteCond %{THE_REQUEST} [^\s]*/index\.php\?cat=(.*)\ HTTP/
RewriteRule ^index\.php\?cat=(.*)$ \?cat=$1 [R=301]

RewriteCond %{THE_REQUEST} [^\s]*/\?cat=(.*)\ HTTP/
RewriteRule ^\?cat=(.*)$ index\.php\?cat=$1 [L]

При условии, что физически страницы там же и остаются.

K
На сайте с 23.10.2004
Offline
159
#4
drygins:
А как преобразовать все ссылки вида http://site.ru/articles0, http://site.ru/articles1 и т.д. в такой вид:
http://site.ru/ru/articles0 и т.д. Меняется только число.

наверное

RewriteRule ^/articles([0-9]+)$ /ru/articles$1

Asar
На сайте с 23.08.2004
Offline
334
#5
kravru:
наверное так:
RewriteEngine On
RewriteRule ^/index.php?cat=5$ http://www.адрес-сайта.ru/?cat=5 [R=301]

Дык, не одну страницу-то, а все варианты (вместо 5 может быть любое другое число)...

D
На сайте с 29.03.2010
Offline
0
#6
наверное
RewriteRule ^/articles([0-9]+)$ /ru/articles$1

А если нету articles? Т.е. нужно к главной странице будет приписать /ru/. Из sait.ru/ в sait.ru/ru/

K
На сайте с 23.10.2004
Offline
159
#7
Asar:
Дык, не одну страницу-то, а все варианты (вместо 5 может быть любое другое число)...

RewriteEngine On

RewriteRule ^/index.php?cat=([0-9]+)$ http://www.адрес-сайта.ru/?cat=$1 [R=301]

kravru добавил 31.03.2010 в 00:45

drygins:
А если нету articles? Т.е. нужно к главной странице будет приписать /ru/. Из sait.ru/ в sait.ru/ru/

RewriteRule ^/([-0-9a-zA-Z_]+)$ /ru/$1

Asar
На сайте с 23.08.2004
Offline
334
#8

kravru, кстати, все равно не пашет...

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