Как заставить IIS7 регистрировать фактический документ по умолчанию для каталога, а не для "/"?
Ведение журнала в IIS7, по-видимому, изменилось, поскольку доступ к родительскому каталогу с документом по умолчанию теперь регистрируется не так, как в IIS6.
Поле s-uri-stem, похоже, игнорирует любые документы, определенные в модуле Default Documents. По словам Microsoft, это сделано специально.
- В IIS6, если вы перейдете на "example.com", в журнале будет показано "GET /default.htm - 80".
- В IIS7, если вы перейдете на "example.com", в файле журнала будет показано "GET / - 80".
Для целей веб-аналитики нам необходим IIS7 для регистрации доступа к родительскому каталогу с документом по умолчанию для регистрации, как IIS6 выше.
Как мы можем сделать это без использования URL Rewrite?
1 ответ
В идеале лучше всего использовать модуль перезаписи URL IIS. Что-то вроде этого:
<rule name="Index Request" enabled="true" stopProcessing="true">
<match url="^$" />
<action type="Redirect" url="http://domain.com/default.htm" logRewrittenUrl="true" />
</rule>
Другое возможное решение (я знаю, это кажется небольшим взломом) - создать другую страницу документа по умолчанию (например, index.htm), а затем добавить метатег обновления в содержимое этой страницы, чтобы отправить запрос в default.htm.
<meta http-equiv="refresh" content="0;url=/default.htm">
Помимо этих параметров, вам может потребоваться написать некоторый код для выполнения перенаправления.