我已经在我的Apache 2.2服务器上运行了modaspdotnet,因此它可以很好地运行ASP.NET和MySQL。
但是,我想要做的是使用其他扩展程序提供内容,而不仅仅是默认的.aspx,例如: myfile.customextension。
在Apache中,我相信它是通过.htaccess完成的,但在ASP.NET中它是通过web.config完成的。
这是我的web.config文件:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
</system.web>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".testing1" mimeType="application/x-asp-net " />
</staticContent>
</system.webServer>
</configuration>
它可以工作,但ASP.NET代码无法正确呈现 - 我希望能够使用任何自定义扩展来运行ASP.NET代码。
安装了IIS和NET 3.5。
我不想运行完整的IIS服务器,但是我需要为我正在进行的项目使用ASP.NET,因此Apache的modaspdotnet附加组件。
这是我的httpd.conf的最后一行,表示安装modaspdotnet:
LoadModule aspdotnet_module modules/mod_aspdotnet.so
# Use the asp.net handler for all common ASP.NET file types
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
licx rem resources resx soap vb vbproj vsdisco webinfo
<IfModule mod_aspdotnet.cpp>
# For all virtual ASP.NET webs, we need the aspnet_client files
# to serve the client-side helper scripts.
AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
<Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
</IfModule>
#asp.net
AddType application/x-asp-net .asp
AddType text/html .asp
AddHandler application/x-httpd-php .asp
为什么这对我不起作用,我该怎么做才能解决这个问题? 我看了一下网,但找不到太多......有什么想法吗?
答案 0 :(得分:1)
简单添加mime类型是不够的 - 页面不是插入的,而是简单地流式传输到浏览器。 我对apache了解不多。但通常当您想要提供普通的aspx页面但具有不同的扩展名时,您必须:
<httpHandlers> ... <add verb="*" path="*.mycustomextension"> type="System.Web.UI.PageHandlerFactory"/>
<compilation > <buildProviders> <add extension=".mycustomextension" type="System.Web.Compilation.PageBuildProvider" /> </buildProviders>
尝试一下也许这会指出你正确的方向