Как перенаправить в .htaccess? (многоязычный)

У меня многоязычный сайт и. Htaccess, в котором отображаются все страницы.

Я хочу перенаправить (используя код 301) спрашивает с RewriteEngine. Например:

site.com?lang=ru => site.com (remove `lang=ru` - Russian only)
site.com/news.html?lang=ru => site.com/news.html

site.com/home.html => site.com (remove `home.html` - only on the main page)
site.com/home.html?lang=ua => site.com/?lang=ua

site.com/rev.html?lang=ua&start=0 => site.com/rev.html?lang=ua (If start = 0, then remove `start=0`)
site.com/rev.html?lang=ua&start=27 => site.com/rev.html?start=27&lang=ua (should be conversely)

and so on many ...

У меня очень мало опыта переадресации. Вы можете мне помочь. Как подготовить файл htaccess для Apache, чтобы он соответствовал этому критерию? Что делать?

заранее спасибо


person Areku_UA    schedule 11.01.2012    source источник


Ответы (1)


Удаление lang=ru

RewriteCond %{QUERY_STRING} ^(.*)&?lang=ru(.*)$
RewriteRule ^(.*)$ /$1?%1%2 [L,R=301]

Удаление home.html

RewriteRule ^home.html$ / [L,R=301]

Удаление start=0

RewriteCond %{QUERY_STRING} ^(.*)&?start=0(.*)$
RewriteRule ^(.*)$ /$1?%1%2 [L,R=301]

Поменять местами start=## и lang=##

RewriteCond %{QUERY_STRING} ^(.*)lang=(.+)&start=([0-9]+)(.*)$
RewriteRule ^(.*)$ /$1?%1start=%3&lang=%2%4 [L,R=301]
person Jon Lin    schedule 11.01.2012