Обманывая веб-сайт IIS 6.0 html, заставляя его думать, что он в корне - PullRequest
1 голос
/ 12 ноября 2009

Я понятия не имею, как искать этот, и, возможно, Serverfault будет лучше, но я начну здесь.

У меня есть HTML-сайт, работающий в корне одного из моих веб-серверов. Работает отлично и денди. Мне нужно было создать тестовую среду для него и где я не могу запустить его в корне веб-сервера. Я должен сделать каталог на тестовом сервере. Например:

http://myTestserver/HtmlWebsite/index.html вместо http://myProdserver/index.html

Как только я кидаю его в каталог, почти все ломается. Некоторые изображения не загружаются, файлы javascript не найдены, массовая истерия!

Я обнаружил, что автор указанного сайта использовал сочетание абсолютных и относительных путей к каталогам во всех файлах, поэтому некоторые изображения были загружены правильно.

Я могу зайти и отредактировать все файлы, чтобы они были относительными. Но мне интересно, могу ли я заставить IIS 6.0 думать, что каталог веб-приложения, в котором он находится, является корнем веб-сервера. Так что, если у меня есть абсолютный путь в HTML, как:

<img src="/_support/loadme.jpg" />

это даст мне изображение для http://myTestserver/HtmlWebsite/_support/loadme.jpg или http://myProdserver/_support/loadme.jpg.

Могу ли я получить IIS 6.0 для выполнения ставок или я застрял в путях редактирования?

Ответы [ 2 ]

0 голосов
/ 26 ноября 2009

Вы должны быть в состоянии с помощью перезаписи URL

Сначала вы устанавливаете ISAPI Rewrite, найденный здесь: http://www.helicontech.com/isapi_rewrite/

Затем вы создаете конфиг со следующим правилом:

RewriteEngine on    
RewriteRule (.+) /HtmlWebsite$1

Что он делает, он принимает ваш запрос, скажем, /index.html, и внутренне переписывает его в /HtmlWebsite/index.html, что (иронично) заставляет вас думать, что вы звоните из root, когда на самом деле он получает это из подпапки.

Возможно, вам придется добавить или изменить правило, если на тестовом сервере появилось больше материала, но в этом суть.

0 голосов
/ 12 ноября 2009

К сожалению, вам придется либо зафиксировать абсолютные URL-адреса по всему сайту, либо запустить сайт на своем собственном веб-сайте в корне.

Нет ли способа создать новый сайт на тестовом сервере IIS6?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...