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/.*). Поэтому файлы в этой папке не будут доступны.