Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > mod_rewrite хитрый:)


Автор: _AXE_ 9.3.2009, 00:20
Всем привет. Прошу помочь в создании следующего правила. Суть в том если пользователь заходит на http://ru.site.net ему открывается сайт на русском.
На http://en.site.net сайт на английском.

Всего варианты языков: en, ru, uz, kz. 

Передавать надо просто GET: lang=ru, lang.uz...

Т.е.:
http://ru.site.net => http://site.net/?lang=ru
http://uz.site.net => http://site.net/?lang=uz
http://en.site.net => http://site.net/?lang=en

help!

Автор: zibox86 9.3.2009, 01:25
Ну как то так вроде, только флаги поставить как вам нужно
Код

RewriteEngine on 
RewriteCond %{REMOTE_HOST} ^ru\.site\.net$ 
RewriteRule ^(/~.+) http://site.net/?lang=ru$1 [R,L]
RewriteCond %{REMOTE_HOST} ^uz\.site\.net$ 
RewriteRule ^(/~.+) http://site.net/?lang=uz$1 [R,L]
RewriteCond %{REMOTE_HOST} ^en\.site\.net$ 
RewriteRule ^(/~.+) http://site.net/?lang=en$1 [R,L]

Автор: _AXE_ 9.3.2009, 02:56
Точно! Большое спасибо. С флагами, разумеется, разбирусьsmile

Автор: _AXE_ 10.3.2009, 12:04
Проверил. Не работает...

Автор: DSsupport 10.3.2009, 22:14
Попробуйте использовать HTTP_HOST вместо REMOTE_HOST

Код

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^ru\.site\.net$ 
RewriteRule ^/(.*)$ http://site.net/?lang=ru$1 [L]
RewriteCond %{HTTP_HOST} ^uz\.site\.net$ 
RewriteRule ^/(.*)$ http://site.net/?lang=uz$1 [L]
RewriteCond %{HTTP_HOST} ^en\.site\.net$ 
RewriteRule ^/(.*)$ http://site.net/?lang=en$1 [L]

Автор: DSsupport 24.3.2009, 15:07
Немного поправил правила в предидущем посте.

Автор: PoMKA 7.4.2009, 03:39
Реально хитрый... 8) Респект...

Автор: skyboy 7.4.2009, 08:15
Цитата(DSsupport @  10.3.2009,  21:14 Найти цитируемый пост)
HTTP_HOST вместо REMOTE_HOST

угу, REMOTE_HOST(как и REMOTE_ADDR) - это попытка получить имя хоста клиента(по переданному ip клиента)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)