П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 180071 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 78121 раз(а).

Учебник HTML.
Просмотров 75528 раз(а).

Руководство по PHP5.
Просмотров 46583 раз(а).

Хостинг через призму DNS.
Просмотров 53974 раз(а).

Подборка текстов стандартных документов.
Просмотров 46500 раз(а).

Учебник PHP - Самоучитель
Просмотров 52660 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 53255 раз(а).

Внешние атаки...
Просмотров 43066 раз(а).

Учебник PHP.
Просмотров 38633 раз(а).

SSI в примерах.
Просмотров 28581 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Руководство по URL преобразованиям
Работа с URL

Веб-кластер через один URL

Описание:

Мы хотим создать одинаковый и постоянный URL для всех WWW серверов в Intranet веб-кластере, т.е. все URL (конкретных локальных серверов и таким образом зависящие от сервера!) становятся, в действительности, независимыми от сервера! То что мы хотим, — так это дать пространство имен WWW постоянной независимой от сервера схеме: никакой URL не должен включать какой-либо реальный сервер. Кластер сам должет автоматически перенаправлять нас на реальный сервер.

Решение:

Первое, информация о конкретных серверах берется из (распределенных) внешних массивов содержащих информацию о том, где находятся наши пользователи, группы и ресурсы. Имеем такую форму:

user1  server_of_user1
user2  server_of_user2
:      :

Мы помещаем эти записи в файлы map.xxx-to-host. Второе, мы должны информировать все наши серверы перенаправлять URL вида

/u/user/anypath
/g/group/anypath
/e/entity/anypath

на

http://physical-host/u/user/anypath
http://physical-host/g/group/anypath
http://physical-host/e/entity/anypath

если URL не находится на каком-либо локальном сервере. Следующий набор правил делает это для нас при помощи файлов c ассоциативными массивами для преобразований (примем что server0 — это сервер, который будет использован по-умолчанию, если в массиве нет записи для какого-либо пользователя):

RewriteEngine on

RewriteMap      user-to-host   txt:/path/to/map.user-to-host
RewriteMap     group-to-host   txt:/path/to/map.group-to-host
RewriteMap    entity-to-host   txt:/path/to/map.entity-to-host

RewriteRule   ^/u/([^/]+)/?(.*)   http://${user-to-host:$1|server0}/u/$1/$2
RewriteRule   ^/g/([^/]+)/?(.*)  http://${group-to-host:$1|server0}/g/$1/$2
RewriteRule   ^/e/([^/]+)/?(.*) http://${entity-to-host:$1|server0}/e/$1/$2

RewriteRule   ^/([uge])/([^/]+)/?$          /$1/$2/.www/
RewriteRule   ^/([uge])/([^/]+)/([^.]+.+)   /$1/$2/.www/$3\



[ Назад ] [ Содержание ] [ Вперед ]



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru