在 Ubuntu 上安装 mod_mono:处理程序似乎未注册

在 Ubuntu 上安装 mod_mono:处理程序似乎未注册

我正在尝试在 Apache 2 (Prefork MPM) 上安装 mod_mono。我使用的是 Ubuntu Karmic,只想要一个自动托管设置(这样就可以执行任何 .aspx 文件,类似于 PHP 的正常设置方式)。

我按照以下步骤安装 Mono:

$ apt-get install libapache2-mod-mono mono-apache-server2 mono-devel
$ a2dismod mod_mono
$ a2enmod mod_mono_auto

我已确认 mod_mono 已由 Apache 加载。但是,我尝试加载的任何 .aspx 页面均未处理就返回,并且仍具有application/x-asp-netMIME 类型。就好像 mod_mono 处理程序从未在 Apache 中注册一样。

以下是 的内容/etc/mod_mono_auto.load

    LoadModule mono_module /usr/lib/apache2/modules/mod_mono.so

下面是/etc/mod_mono_auto.conf

MonoAutoApplication enabled
AddType application/x-asp-net .aspx
AddType application/x-asp-net .asmx
AddType application/x-asp-net .ashx
AddType application/x-asp-net .asax
AddType application/x-asp-net .ascx
AddType application/x-asp-net .soap
AddType application/x-asp-net .rem
AddType application/x-asp-net .axd
AddType application/x-asp-net .cs
AddType application/x-asp-net .config
AddType application/x-asp-net .dll
DirectoryIndex index.aspx
DirectoryIndex Default.aspx
DirectoryIndex default.aspx

我甚至尝试过明确设置处理程序:

AddHandler mono .aspx .ascx .asax .ashx .config .cs .asmx .asp

似乎没什么帮助。有什么想法可以让它工作吗?

答案1

请注意 mono 不同于 php。即使只提供一个页面也需要启动 mono 应用程序。如何构建 aspx 文件(阅读:web 应用程序)非常重要。

我曾经见过需要使用 SetHandler 来强制 apache 将请求发送到 mono-server 的情况。

尝试类似...

<LocationMatch "\.(aspx)$">
    SetHandler mono
</LocationMatch>

相关内容