2

Я хочу перенаправить index.php в home в этот фрагмент.IIS Express Url Rewrite Module очень простое перенаправление не работает

<system.webServer> 
    <rewrite> 
     <rules> 
     <rule name="Redirect index.php to home" stopProcessing="true"> 
      <match url="index.php" ignoreCase="false" /> 
      <action type="Redirect" url="home" redirectType="Permanent" /> 
     </rule> 
     </rules> 
    </rewrite>  
    </system.webServer> 

У меня IIS Express 8.5 работает. Не происходит перенаправления для http://localhost/index.php, я получаю index.php и тот же старый 404. Попытка удаления кеша браузера не помогла. Есть идеи?

Мне не нужно ничего делать, чтобы включить модуль Url-Rewrite, не так ли?

+0

Используйте диспетчер IIS для создания и проверки правил переадресации и проверки файла журнала доступа, чтобы узнать, какие URL-адреса генерируют 404 ошибки. – Tim3880

+0

@ Tim3880 это IIS Express, менеджер IIS предназначен только для основного IIS? Разве менеджер IIS не просто генерирует такие правила, как my в файле конфигурации? Мне не нужно проверять, какие URL-адреса генерируют 404, это единственный URL-адрес, который я пытаюсь перенаправить, это тот, который я тестирую, и получаю только 404, потому что перенаправление не работает. – Andrew

+0

Некоторое уточнение - вы пытаетесь перенаправить с 'localhost/index.php' на' localhost/home' (а не просто переписать URL-адрес)? –

ответ

3

Хорошо, я, наконец, нашел проблему. Мой ASP.NET MVC 5 проекта было два Web.configs:

  • /Web.config
  • /Views/Web.config

Я положил фрагмент выше в /Views/Web.config по ошибке, и это не сработало. Теперь я переместил его на /Web.config, и он отлично работает.

+0

Именно это и произошло со мной. Очень неприятная и тонкая ошибка. –