我没有在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
和vo。但这个问题影响了通用托管。另外,我可以自己得到答案:因为Razor-MVC中没有.aspx文件(或者更好的路径通过路由器映射到控制器)然后我显然因为Apache无法识别为文件而得到404错误
如果我想在支持Mono的通用托管服务提供商运行的服务器上部署此Mono应用程序,反之亦然如果我想提供(在生产服务器上)托管PHP和Mono而不必更改配置根据客户的要求,我可以使用满足Mono并运行PHP的Apache配置吗?
如何配置Apache2 一次,以便在同一个VirtualHost上运行两个 PHP和Mono MVC,而无需根据编写应用程序的语言更改配置?< / p>
答案 0 :(得分:0)
转到此配置程序 http://go-mono.com/config-mod-mono/ 它基于virtualHost为Apache2提供auto make配置。 现在我联合使用mod_mono和mod_php5。