Назад | Перейти на главную страницу

Пользовательские расширения файлов как ASP.NET в IIS?

У меня Apache 2.2 и установлен modaspdotnet - версия 2.2.

Я последовал совету в Настройка ASP.NET MVC2 на Apache 2.2 с помощью mod_aspdotnet, и сервер работает в основном очень хорошо.

Однако я пытаюсь создать собственные расширения (например, file.customname вместо file.aspx), аналогично тому, как Apache / PHP / htaccess может с этим справиться. (Я думаю, что это mod_rewrite или .htaccess, сейчас забыл!)

Что мне делать, чтобы эти настраиваемые типы файлов (все обслуживающие файлы .NET) работали?

Я дал расширениям собственные имена просто для тестирования.

Это туристический сайт [тестируемый, кстати], и он нормально работает на localhost для основных страниц, но я хотел знать, как это сделать.

Как мне это сделать? Я смотрел в Google и т. Д., Но пользовательские обработчики HTTP - это все, что я действительно мог найти!

Спасибо

Вместо того, чтобы пытаться настроить обработчики для этого, почему бы просто не использовать перезапись. В вашем web.config добавьте следующее в свой <system.webServer> раздел:

<system.webServer>
  <rewrite>
      <rules>
          <rule name="Rewrite custom ext" stopProcessing="true">
              <match url="^(.*)\.customname$" />
              <action type="Rewrite" url="{R:1}.aspx" />
          </rule>
      </rules>
  </rewrite>
<system.webServer>

Это перепишет:

http://example.com/somepage.customname -> http://example.com/somepage.aspx

Если вы пытаетесь использовать собственные расширения в приложении ASP.NET MVC, вы можете использовать маршрут:

{controller}/{action}.customname/{id}