在 IIS 中将自定义文件扩展名设为 ASP.NET?

在 IIS 中将自定义文件扩展名设为 ASP.NET?

我有 Apache 2.2,并且安装了 modaspdotnet - 2.2 版本。

我听从了使用 mod_aspdotnet 在 Apache 2.2 上配置 ASP.NET MVC2,并且服务器基本运行良好。

但是,我正在尝试创建自定义扩展(例如 file.customname,而不是 file.aspx),类似于 Apache/PHP/htaccess 处理此问题的方式。(我认为是 mod_rewrite 或 .htaccess,现在忘记了!)

我该怎么做才能使这些自定义文件类型(所有服务.NET 文件)正常工作?

这些扩展都是我自定义的名字,仅用于测试目的

这是一个旅游网站(顺便说一下,是一个测试网站),它在本地主机上的基本页面运行正常,但我想知道如何做到这一点。

我该怎么做?我在 Google 等网站上搜索过,但我真正找到的只有自定义 HTTP 处理程序!

谢谢

答案1

与其尝试为此配置处理程序,为什么不直接使用重写呢?在您的 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}

相关内容