IIRF на iis6 - перенаправление нескольких доменов на один ip на разные страницы индекса

Я не могу хорошо говорить по-английски:) - извините ~

У меня есть один сервер хостинга. (один ip)

и этот веб-сервер имеет три страницы индекса.

default.asp // s1_default.asp // s2-default.asp

У меня есть три домена. aaa.com и два бесплатных субдомена. (s1.free.com, s2.free.com ex)

Я установил iirf для iis6.

Я хочу переписать или перенаправить на aaa.com -------> default.asp s1.free.com ---> s1_default.asp s1.free.com ---> s1_default.asp

Спасибо!!!

1 ответ

Решение

Я думаю, что этот учебник поможет вам и даже даст вам некоторые плюсы и минусы для альтернативного решения. http://www.seoconsultants.com/windows/isapi/subdomains/

Цитата из связанного урока:

Настройка DNS-сервера

Добавьте следующую запись на свой DNS-сервер и измените домен и IP-адрес соответственно.

*.example.com В 1.2.3.4

Настройте веб-сервер

Мы предполагаем, что у вас уже есть веб-сайт, созданный для вашего основного сайта: www.example.com. Так что давайте просто дважды проверим, чтобы убедиться, что он сможет принимать все варианты поддоменов.

Откройте консоль управления IIS и выберите свой веб-сайт. Щелкните правой кнопкой мыши и выберите "Свойства". Нажмите на вкладку веб-сайта. Нажмите на кнопку Дополнительно. Убедитесь, что в поле "Несколько идентификаторов" для этого веб-сайта есть одна запись с пустым полем "Имя заголовка узла". Эта запись будет перехватывать все запросы, поступающие на этот IP-адрес. Убедитесь, что IP-адрес используется только этим веб-сайтом. Настройте httpd.ini для ISAPI_Rewrite

Добавьте следующий код в ваш httpd.ini в корне сети. Убедитесь, что они в правильном порядке.

# Convert http://example.com to http://www.example.com/
RewriteCond Host: ^example.com
RewriteRule (.*) http\://www\.example.com$1 [I,RP]

# Assuming we have limited number of shared folders.
# We will execute them accordingly regardless of the subdomain.
# Example: http://sub1.example.com/img/logo.jpg -> /img/logo.jpg
# Example: http://www.example.com/img/logo.jpg -> /img/logo.jpg
RewriteRule (/css/.*) $1 [I,O,L]
RewriteRule (/js/.*) $1 [I,O,L]
RewriteRule (/img/.*) $1 [I,O,L]

#Redirect all other subdirectories not matching
#to the list above as subdomains
#example: www.example.com\sub1 -> sub1.example.com
RewriteCond Host: www\.example\.com
RewriteRule /(\w*)/(.*) http\://$1\.example\.com$2 [I,RP]

# If the web site starts with www then point the file to the root folder
# If you specifically created a folder /www/ then you can comment out this section.
RewriteCond Host: (?:www\.)example.com
RewriteRule (.*) $1 [I,O,L]

# Any web site starts other than www will be re-mapped to /<subdomain>/
# Example: http://sub1.example.com/default.asp -> /sub1/default.asp
# Note: if the folder does not exists, then the user will get a 404 error automatically.
RewriteCond Host: (.*)\.example.com
RewriteRule (.*) /$1$2 [I,O,L]

#Fix missing slash char on folders
#This has to be at the end because if invalid dir exists,
#we should show 404 first
RewriteCond Host: (.*)
RewriteRule ([^.?]+[^.?/]) http\://$1$2/ [I,RP]

Проверьте субдомены

Предполагается, что у нас есть веб-сайт компании и два дочерних домена: sub1, sub2.

URI РАСПОЛОЖЕНИЕ НА СЕРВЕРЕ

http://www.example.com  /
http://sub1.example.com/img/logo.jpg    /img/logo.jpg
http://sub2.example.com /sub2/
http://abc.example.com  /abc/ -> 404 Not Found

Решение 2: Резюме

Второе решение проще в реализации и требует только одного экземпляра веб-сайта, пользователь должен быть осторожен при создании папок. Например, пользователь не может создать папку d:\inetpub\wwwroot\example.com\sub1\img\, поскольку она будет конфликтовать с правилом ISAPI_Rewrite (/img/.*). Поэтому файлы в этой папке не будут доступны.

Другие вопросы по тегам