Изменение URL-адреса с помощью IIS 6/7 - изменение имени хоста {HTTP_HOST}
IIRF бесплатен и позволяет переписывать iis заголовки, включая HTTP_HOST.
Я aspdotnet хочу переписать http://abc.xyz.com/ * на http://xyz.com/sites/abc/ *. Это asp.net-website делается для сайта SharePoint, который aspdotnet внутренне использует {HTTP_HOST}.
Вам asp.net необходимо переписать и хост, и asp.net URL. Это немного усложняет aspx задачу. В этом наборе правил asp-net я делаю это поэтапно и использую aspdotnet новый заголовок для сохранения aspx состояния между шагами:
# detect whether we're using the abc host
RewriteCond %{HTTP_HOST} ^abc\.xyz\.com$
RewriteHeader Host-Needs-Rewrite: ^$ YaHuh
# rewrite the Host: header to the alt host name if necessary
RewriteCond %{HTTP_HOST_NEEDS_REWRITE} ^YaHuh$
RewriteCond %{HTTP_HOST} ^(?!xyz\.com)(.+)$
RewriteHeader Host: .* xyz.com
# rewrite the Url to the appropriate place
RewriteCond %{HTTP_HOST_NEEDS_REWRITE} ^YaHuh$
RewriteCond %{HTTP_HOST} ^xyz\.com$
RewriteRule /(.*)$ /sites/abc/$1 [L]
Вы aspdotnet также можете использовать aspx подстановочный знак для части asp.net abc. Как это:
# detect whether we're using the abc host
RewriteCond %{HTTP_HOST} ^([^.]+)\.xyz\.com$
RewriteHeader Host-Needs-Rewrite: ^$ %1
# rewrite the Host: header to the alt host name if necessary
RewriteCond %{HTTP_HOST_NEEDS_REWRITE} ^.+$
RewriteCond %{HTTP_HOST} ^(?!xyz\.com)(.+)$
RewriteHeader Host: .* xyz.com
# rewrite the Url to the appropriate place
RewriteCond %{HTTP_HOST_NEEDS_REWRITE} ^(.+)$
RewriteCond %{HTTP_HOST} ^xyz\.com$
RewriteRule /(.*)$ /sites/%1/$1 [L]
asp.net
iis
Изменение URL-адреса с помощью IIS 6/7 - изменение имени хоста {HTTP_HOST}
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.