【发布时间】:2014-06-30 23:07:51
【问题描述】:
我在 Linux 上运行 nginx。我想获取一个 .aspx 网页并仅输出其中的 html(没有 <% %> 指令、导入或页面声明。)
为简单起见,假设我托管的所有 .aspx 页面都是简单的 .html 文件,并以 .aspx 扩展名重命名。
当我将 nginx 指向 index.aspx 的位置时,它要求我下载文件而不是显示文件的 html 内容,而 index.html 显示正常。
我已经想到了一些可以解决这个问题的方法。
- 编写一个 nginx 模块来处理 .aspx 页面,就像它们是 html 一样
- 更改已识别的 mimetype 并将它们与 html 关联
- 我尝试将
application/aspx html htm shtml;添加到我的 nginx mimetype 文件中,但没有成功。
- 我尝试将
- 调用 cgi 读取 .aspx 文件并生成返回的 html
我问这个问题的原因是因为我想利用现有的基于 aspx 的 Web 应用程序。这个 aspx 应用程序本身的 aspx 文件中没有任何 c# 特定代码,因此会大大减少我的工作量。
【问题讨论】:
-
听起来你正在尝试做某种可怕的变异技术混合体。想在 .NET 环境中使用 Python?使用IronPython。想要在非 IIS 服务器中托管 ASP.NET?将 Apache 与 mod_mono 一起使用。
-
几乎没有。我希望扩展名为 .aspx 的文件像 .html 一样通过 nginx。我想在 linux 环境中使用 Python,在 windows 环境中与 .net 共享代码,这样我就不必重新编写整个 web 部分的代码。
-
如果您不希望 ASP.NET 引擎解析 Web 窗体页面,为什么不简单地删除所有与 ASP.NET 相关的代码,然后将扩展名更改为 .html?
-
我愿意,但是 aspx 文件仍然使用 C# 代码背后的机制——它们被放入 SSI 脚本中,因此 IIS 仍然可以运行代码。我想基本上将整个 Web 代码库(无 SSI 脚本)放到 linux 平台上,并让它完全像在 IIS 服务器上一样显示 html。一旦我为 Linux 平台编写了 SSI 脚本,它应该使用一个 Web 代码库具有相同的功能。将后面的代码移到 .NET CGI 脚本中是唯一的其他选择,而且速度要慢得多/复杂得多。
标签: python asp.net .net nginx ssi