URL Переписывает ошибку с веб-приложениями

Я выполняю 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 Переписывают модуль для работы с веб-приложениями?

Спасибо за любую справку можно предложить.

1
задан 10 January 2013 в 06:22
1 ответ

Например:

Имя 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:

Откройте файл web.config и вставьте строки

<?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>
0
ответ дан 4 December 2019 в 09:27

Теги

Похожие вопросы