Я выполняю ASP.NET 4,0 веб-сайта с помощью IIS7 на Windows Server 2008 R2.
Сайт имеет много веб-приложений под основным доменом (~/site1, ~/site2, ~/site3, и т.д....). Каждое веб-приложение является экземпляром той же исходной папки веб-сайта (D:\Websites\MySite), таким образом, можно получить доступ к тому же веб-сайту в любом из следующих URL:
www.mydomain.com
www.mydomain.com/site1
www.mydomain.com/site2
www.mydomain.com/site3
Тот же веб-сайт возвращается каждый раз, когда но с немного отличающимся содержанием, в зависимости от которого называют определенный URL.
Все хорошо работало в течение многих месяцев, пока меня не попросили добавить, что некоторая оптимизация SEO с помощью URL Переписывает. Каждый URL Переписывает правило, которое я добавляю, производит следующую ошибку:
Ошибка HTTP 500.52 - URL Переписывает Ошибку Модуля. Страница не может быть отображена, потому что произошла внутренняя ошибка сервера.
Ошибка конфигурирования: не Может добавить дублирующаяся запись набора типа 'правило' с набором 'имени' атрибута уникального ключа к 'AddTrailingSlashRule1'
Я считал elswhere что, окружив <system.webServer> configSection в web.config файле с:
<location path="." inheritInChildApplications="false">
решит эту проблему.
Однако, в то время как это мешает сообщению об ошибке появиться, это также останавливается, URL Переписывают правила от работы в любом из веб-приложений (~/site1, ~/site2, ~/site3).
Как я могу добраться, URL Переписывают модуль для работы с веб-приложениями?
Спасибо за любую справку можно предложить.
Например:
Имя html-файла www.mydomain.com в качестве основного .html
www.mydomain.com/site 1 имя файла как site 1.html ..etc
Шаг 1: win + R введите "inetsrv" без кавычек, нажмите Enter -> config -> откройте файл applicationHost.config (используйте notepad ++)
шаг 2: Найдите под строкой (приблизительно номер строки = 218)
<defaultDocument enabled="true">
<enter code here`files>
<add value="Default.htm" />
<add value="Default.asp" />
<add value="index.htm" />
<add value="index.html" />
<add value="iisstart.htm" />
<add value="default.aspx" />
</files>
</defaultDocument>
step3: Добавьте имя файла www.mydomain.com
Пример
<add value="main.html" />
и сохраните
шаг 4: откройте IIS и перейдите на сайт 1 -> открыть документ по умолчанию -> нажмите добавить и введите имя файла сайта 1 (site1.html)
шаг 5:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<location path="site 1">
<system.webServer>
<defaultDocument enabled="true">
<files>
<clear />
<add value="site1.html" />
</files>
</defaultDocument>
</system.webServer>
</location>
</configuration>
--------------- ----------------------------------- и сохраните
шаг 6: сайт 2 такой же, как и сайт 1 (измените путь к местоположению как "сайт 2" и имя файла html)
Пример:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<location path="site 1">
<system.webServer>
<defaultDocument enabled="true">
<files>
<clear />
<add value="site1.html" />
</files>
</defaultDocument>
</system.webServer>
</location>
<location path="site 2">
<system.webServer>
<defaultDocument enabled="true">
<files>
<clear />
<add value="site2.html" />
</files>
</defaultDocument>
</system.webServer>
</location>
</configuration>