1

我没有在 serverfault 上发帖,因为该应用程序正在开发中,我需要在 Mono 中对其进行测试,但它也可能适合那里......

我不想问是否可以在 Apache2 VirtualHost 上部署一个 ASP.NET MVC 网站,因为它是,而是如果它可以不干扰 PHP 配置。

长问题

Apache 的默认 PHP 配置如下所示

<IfModule mod_php5.c>
        AddHandler application/x-httpd-php .php4
        AddHandler application/x-httpd-php .php5
        AddHandler application/x-httpd-php .php
        AddHandler application/x-httpd-php-source .php4s
        AddHandler application/x-httpd-php-source .php5s
        AddHandler application/x-httpd-php-source .phps
        DirectoryIndex index.php4
        DirectoryIndex index.php5
        DirectoryIndex index.php
</IfModule>

这告诉 Apache .php 文件是 PHP 脚本。

好的...

现在,如果我mod_mono在服务器上启用,它会将 .aspx 文件映射到 Mono。没关系。

但是,当我使用非常适合 PHP 的准系统配置启用测试主机 VirtualHost 时(它基于mod_macro您是否介意美元)

<VirtualHost *:80>
    ServerName www.$name
    ServerAlias $name

    <IfModule mpm_itk_module>
        AssignUserID $user $user

    </IfModule>


    ErrorLog /path/tp/$name/logs/error_log
    CustomLog /path/to/$name/logs/access_log combined


    DocumentRoot /path/to/$name/htdocs
    ServerAdmin email@email
</VirtualHost>

然后我收到默认控制器的 404 错误。

我知道我可以在我自己的测试服务器上简单地说SetHandler mono,瞧。但是这个问题会影响通用托管。另外,我自己可以得到答案:由于 Razor-MVC 中没有 .aspx 文件(或者更好的路径通过路由器映射到控制器),那么对于 Apache 无法识别为文件的所有内容,我显然会收到 404 错误.

如果我想将此 Mono 应用程序部署在由支持 Mono 的通用托管服务提供商运行的服务器上,反之亦然,如果我也想(在生产服务器上)为 PHP 和 Mono 提供托管服务,而无需根据客户的更改配置需求,我可以使用既满足 Mono 又运行 PHP 的 Apache 配置?

缩短的问题

如何配置一次Apache2以便在同一 VirtualHost 上同时运行PHP和 Mono MVC,而无需根据应用程序编写的语言更改配置?

4

1 回答 1

0

转到此配置器 http://go-mono.com/config-mod-mono/ 它为 Apache2 提供基于 virtualHost 的自动生成配置。现在我正在联合使用 mod_mono 和 mod_php5。

于 2013-01-24T17:15:02.007 回答