2015-01-09 2 views
0

Я довольно новичок в IIS, поэтому извиняюсь, если это основной вопрос.web.config вызывает ошибку HTTP 500 с виртуальным каталогом в IIS

У меня есть конфигурация IIS, обслуживающая внутренний веб-сайт компании (php вместо asp.net). Версия prod на веб-сайте находится на уровне «Default Web Site», и у меня есть демонстрационные и тестовые версии веб-сайта, отображаемые как виртуальные каталоги. Демо-версия и тестовая версия являются, по существу, копиями каталога prod. Я заметил, что с web.config, скопированным в эти VD, я получаю ошибку 500 на корневом URL-адресе только для VD. И.Е. главный сайт https://mainwebsite.com и работает отлично, но https://mainwebsite.com/demo/ не работает, а https://mainwebsite.com/demo/index.php работает нормально.

файл web.config является довольно простой:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 

    <system.webServer> 

    <handlers> 

     </handlers> 

     <defaultDocument> 
      <files> 
       <add value="index.php" /> 
      </files> 
     </defaultDocument> 

    <staticContent> 
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="00:03:00" /> 
     </staticContent> 

    </system.webServer> 
</configuration> 

Перемещение файла web.config из пути в VD решает проблему. Несмотря на то, что файлы идентичны, я бы не думал, что файл должен вызвать конфликт, поскольку я понимаю, что IIS поддерживает несколько файлов веб-конфигурации.

Хотя у меня есть обходное решение, переименовав или удалив файл, мне интересно, есть ли способ сохранить файл на месте без его возникновения.

+0

Включите 'подробные ошибки для localhost', чтобы просмотреть сайт от администратора IIS и посмотреть, в чем проблема, и добавить его в вопрос. http://blogs.msdn.com/b/rakkimk/archive/2007/05/25/iis7-how-to-enable-the-detailed-error-messages-for-the-website-while-browsed-from- for-the-client-browsers.aspx Также, если бы я собирался использовать PHP в своем окне Win, я бы просто использовал Apache с ним. –

+0

Спасибо, это должно быть полезно. Веб-стол был на месте, прежде чем я начал работать здесь, иначе я бы использовал apache или nginx. – shadowzen

+0

Удивительно, это было очень полезно. – shadowzen

ответ

0

Спасибо Panama Jack в комментариях, я смог решить мою проблему.

Я получил этот ответ с подробными ошибками:

Error Summary 
HTTP Error 500.19 - Internal Server Error 

The requested page cannot be accessed because the related configuration data for the page is invalid. 

А дальше вниз:

Config Error 
Cannot add duplicate collection entry of type 'add' with unique key attribute 'value' set to 'index.php' 

Чтобы решить, я просто закомментировать эту строку в web.config XML:

<add value="index.php" /> 

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

+0

Лучшей альтернативой является добавление над тегом . Затем вы можете использовать ту же копию web.config как на веб-сайте, так и в виртуальных каталогах. –

+0

Еще лучше, спасибо! – shadowzen

Смежные вопросы