mod_rewrite сделать редирект

A
На сайте с 15.10.2011
Offline
61
520

вообщем, есть сайт. адрес www.site.ru

надо сделать редирект 301 с:

www.site.ru/ru/kluch на www.site.ru/kluch

www.site.ru/ru/kluch2 на www.site.ru/kluch2

www.site.ru/ru/kluch3 на www.site.ru/kluch3

и так далее ключей около 300

Можно ли изменить их с помощью какого нибудь регулярного выражения? Чтобы ru не подставлялось в URL?

edogs software
На сайте с 15.12.2005
Offline
775
#1

RewriteEngine On

RewriteBase /

RewriteRule ^(ru/(.*))$ $2 [R=301,L]

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
DiAksID
На сайте с 02.08.2008
Offline
218
#2
andrewthomson:

... Чтобы ru не подставлялось в URL?

запросто:


RewriteRule ^ru/(.+) $1 [R=301,L]

всё что в ru перешло в корень...

show must go on !!!...
A
На сайте с 15.10.2011
Offline
61
#3

Интересно, а как расшифровать эту запись?

Берем строку(URL, который начинается от корня .htaccess), началом этого URL считается ru/после чего идёт произвольный набор символов, которые там должны быть хотя бы один раз. А вот как расшифорвать словами скобки?? Это начало и конец под шаблона, но как это понять на практике? И что за конструкция $1, октуда эта цифра 1 и как это понять? По сути тут должен быть преобразованный вариант, как понимаю. Но как читается это? $1

Ещё чем отличаются эти два варианта??

RewriteEngine On

RewriteBase /

RewriteRule ^(ru/(.*))$ $2 [R=301,L]

И как это читается? Объясните пожалуйста, хочу освоить эту тему, чтобы не задавать глупых вопросов потом и по несколько дней мучиться с составлением этих выражений. ;)

Так же мне надо сделать ещё 301 редиректы, правильно ли я это сделал??

Redirect 301 http://site.ru/ http://www.site.ru

Redirect 301 http://site.ru http://www.site.ru

Redirect 301 http://site.ru/ru/ http://www.site.ru

Redirect 301 http://site.ru/en/ http://www.site.ru

Redirect 301 http://site.ru/ru http://www.site.ru

Redirect 301 http://site.ru/en http://www.site.ru

gormarket
На сайте с 29.12.2010
Offline
47
#4

"^(ru/(.*))$" это так называемое "регулярное выражение"

а применительно к .htaccess, почитайте про RewriteRule

Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)

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