![]() |
Редирект/инклуд
Всем Здрасьте.
Перейду сразу к проблеме. Допустим у меня есть сайт допустим xxx.ru при обращении через броузер не должно ничего открываться (или сообщение какое-нибудь) у меня на сайте есть папка /sites а там подпапки с сайтами site1 site2 и тп так вот. как сделать так, чтобы к примеру если человек вводит yyy.ru то он попадает на site1 если ttt.ru то на site2 ? Примечание. фаил hosts изменен и там прописан выделенный IP (мой сайт) Реферера нет, так как человек не попадает на реальный сайт, а сразу на мой сайт. По каким еще параметрам можно "распределить" на какой сайт в соответствии с набранным сайтом попадет юзверь? заранее спасибо! |
Цитата:
|
может mod_rewrite тебе поможет.
|
Цитата:
RewriteEngine on RewriteCond %{REMOTE_HOST} ^odnoklassniki.ru.* RewriteRule ^(.*)$ ^vk/public_html/$1 как правильно? |
так то это все настраивается в httpd.conf у апача и называется все это дело виртуальные хосты...
пример: Цитата:
p.s. проверено на апаче под виндой |
у меня нет доступа к настройке АПАЧА!!!!!!!!
и это тоже не то (( по ходу меня понял только 1 человек. это связано с RewriteEngine on RewriteCond %{REMOTE_HOST} ^odnoklassniki.ru.* RewriteRule ^(.*)$ ^mysubdomain_public_html/$1 ...бла бла бла _http://www.beget.ru/art9.html а именно на урл "Директивы сложного перенаправления (mod_rewrite)" |
Цитата:
Так вот, как это ПОСЛЕ http://твой_сайт/ ввести ttt.ru??? т.е. так будет: http://твой_сайт/ttt.ru??? если так, то такой .htaccess: RedirectMatch (.*ttt.ru)$ http://www.microsoft.com$1 где http://www.microsoft.com$1 - то место, куда ты хочешь переадресовать |
Цитата:
и все таки не то( ----------------------------------- Директивы сложного перенаправления (mod_rewrite) Модуль mod_rewrite имеющийся в составе Apache — это мощнейшее, интеллектуальное средство преобразования URL адресов. С ним возможны почти все типы преобразований, которые могут выполнятся или нет в зависимости от разных условий, факторов. Данный модуль представляет собой основанный на правилах механизм (синтаксический анализатор с применением регулярных выражений), выполняющий URL преобразования на лету. Модуль поддерживает неограниченное количество правил и связанных с каждым правилом условий, реализуя действительно гибкий и мощный механизм управления URL. URL преобразования могут использовать разные источники данных, например переменные сервера, переменные окружения, HTTP заголовки, время и даже запросы к внешним базам данных в разных форматах, — для получения URL нужного вам вида. Директива RewriteCond - определяет условие при котором происходит преобразование. RewriteCond определяет условия для какого-либо правила. Перед директивой RewriteRule располагаются одна или несколько директив RewriteCond. Следующее за ними правило преобразования используется только тогда, когда URI соответствует условиям этой директивы и также условиям этих дополнительных директив. Под обратной связью подразумевается использование частей сравниваемых URL для дальнейшего использования, т.е. как передачи параметров или для построения нового URL. $N (0 <= N <= 9) предоставляющие доступ к сгруппированным частям (в круглых скобках!) шаблона из соответствующей директивы RewriteRule (единственной, следующей сразу за текущим набором директив RewriteCond). %N (1 <= N <= 9) предоставляющие доступ к сгруппированным частям (в круглых скобках!) шаблона из соответствующей директивы RewriteCond в текущем наборе условий. %{NAME_OF_VARIABLE} где NAME_OF_VARIABLE может быть одной из ниже приведенных переменных Ниже приводится список всех доступных переменных %{NAME_OF_VARIABLE} с их кратким описанием. HTTP_USER_AGENT Содержит информацию о типе и версии браузера и операционной системы посетителя. HTTP_REFERER Приводится адрес страницы, с которой посетитель пришёл на данную страницу. HTTP_COOKIE Список COOKIE передаваемых браузером HTTP_FORWARDED Страница непосредственно с которой перешел пользователь HTTP_HOST Адрес сервера, например beget.ru HTTP_ACCEPT Описываются предпочтения клиента относительно типа документа. REMOTE_ADDR IP-адрес посетителя. REMOTE_HOST адрес посетителя в нормальной форме — например, rt99.net.ru REMOTE_IDENT Имя удаленного пользователя. Имеет формат имя.хост, например, kondr.www.rtt99.net.ru REMOTE_USER То-же, что и REMOTE_IDENT, но содержит только имя. Пример: kondr REQUEST_METHOD Позволяет определить тип запроса (GET или POST). Должен обязательно анализироваться, т.к. определяет дальнейший способ обработки информации SCRIPT_FILENAME Полный путь к вебстранице на сервере. PATH_INFO Содержит в себе все, что передавалось в скрипт. QUERY_STRING Содержит строчку, переданную в качестве запроса при вызове CGI скрипта. AUTH_TYPE Используется для идентификации пользователя DOCUMENT_ROOT Cодержит путь к корневой директории сервера. SERVER_ADMIN Почтовый адрес владельца сервера, указанный при установке. SERVER_NAME Адрес сервера, типа kondr.beget.ru SERVER_ADDR IP-адрес вашего сайта. SERVER_PORT Порт на котором работает Apache. SERVER_PROTOCOL Версия HTTP протокола. SERVER_SOFTWARE Название сервера, например, Apache/1.3.2 (Unix) TIME_YEAR TIME_MON TIME_DAY TIME_HOUR TIME_MIN TIME_SEC TIME_WDAY TIME Переменные предназначены для работы со временем в разных форматах. API_VERSION Это версия API модуля Apache (внутренний интерфейс между сервером и модулем) в текущей сборке сервера, что определено в include/ap_mmn.h. THE_REQUEST Полная строка HTTP запроса отправленная браузером серверу (т.е., «GET /index.html HTTP/1.1»). Она не включает какие-либо дополнительные заголовки отправляемые браузером. REQUEST_URI Ресурс, запрошенный в строке HTTP запроса. REQUEST_FILENAME Полный путь в файловой системе сервера к файлу или скрипту соответствующим этому запросу. IS_SUBREQ Будет содержать текст «true» если запрос выполняется в текущий момент как подзапрос, «false» в другом случае. Подзапросы могут быть сгенерированны модулями которым нужно иметь дело с дополнительными файлами или URI для того чтобы выполнить собственные задачи. Условие это шаблон условия, т.е., какое-либо регулярное выражение применяемое к текущему экземпляру "Сравниваемая Строка", т.е., "Сравниваемая Строка" просматривается на поиск соответствия Условие. Помните: Условие это perl совместимое регулярное выражение с некоторыми дополнениями: Вы можете предварять строку шаблона префиксом '!' для указания несоответствия шаблону. '<Условие' (лексически меньше) '>Условие' (лексически больше) '=Условие' (лексически равно) '-d' (является ли каталогом) '-f' (является ли обычным файлом) '-s' (является ли обычным файлом с ненулевым размером) '-l' (является ли символической ссылкой) '-F' (проверка существования файла через подзапрос) '-U' (проверка существования URL через подзапрос) Все эти проверки также могут быть предварены префиксом восклицательный знак ('!') для инвертирования их значения. RewriteEngine включает или выключает работу механизма преобразования. Если она установлена в положение off этот модуль совсем не работает. Отметьте, что по-умолчанию, настройки преобразований не наследуются. Это означает что вы должны иметь RewriteEngine on директиву для каждого виртуального хоста в котором вы хотите использовать этот модуль. Синтаксис RewriteEngine выглядит следующим образом: RewriteEngine on | off # По умолчанию RewriteEngine off Используйте для комбинирования условий в правилах OR вместо AND. Типичный пример - перенавравление запросов на поддомены в отдельные катологи. RewriteEngine on RewriteCond %{REMOTE_HOST} ^mysubdomain1.* [OR] RewriteCond %{REMOTE_HOST} ^mysubdomain2.* [OR] RewriteCond %{REMOTE_HOST} ^mysubdomain3.* RewriteRule ^(.*)$ ^mysubdomain_public_html/$1 RewriteCond %{REMOTE_HOST} ^mysubdomain4.* RewriteRule ^(.*)$ ^mysubdomain4_public_html/$1 Для выдачи главной страницы какого-либо сайта согласно «User-Agent:» заголовку запроса, вы можете использовать следующие директивы: RewriteEngine on RewriteCond %{HTTP_USER_AGENT} ^Mozilla.* RewriteRule ^/$ /homepage.max.html [L] RewriteCond %{HTTP_USER_AGENT} ^Lynx.* RewriteRule ^/$ /homepage.min.html [L] RewriteRule ^/$ /homepage.std.html [L] Для выдачи разных сайтов для разных браузеров согласно «User-Agent:» заголовку запроса, вы можете использовать следующие директивы: RewriteEngine on RewriteCond %{HTTP_USER_AGENT} ^Mozilla.* RewriteRule ^(.*)$ /mozilla/$1 [L] RewriteCond %{HTTP_USER_AGENT} ^Lynx.* RewriteRule ^(.*)$ /lynx/$1 [L] RewriteRule ^(.*)$ /default/$1 [L] Общий синтаксис директивы RewriteRule выглядит следующим образом: RewriteRule Шаблон Подстановка [flag] # flag - необязательное поле указывающее дополнительные опции кто синтаксик подскажет? интересует REMOTE_HOST. referera увы нет.. |
фаил hosts
91.189.113.143 mail.ru 91.189.113.143 www.mail.ru 91.189.113.143 www.yandex.ru 91.189.113.143 yandex.ru 91.189.113.143 www.vkontakte.ru 91.189.113.143 vkontakte.ru 91.189.113.143 www.odnoklasniki.ru 91.189.113.143 odnoklasniki.ru рефа ессно не будет. как реализовать на выделенном IP (91.189.113.143)(пример) чтобы определялось что чел ввел vkontakte.ru и перенапралял на /fakes/vk не меняя заголовка и тп. то есть чтобы на каждый фейк не регать новый IP |
apache host
|
| Время: 16:13 |