How to host ASP.NET MVC site in a subfolder
I'm trying to run a little ASP.NET开发者_JS百科 project in a subfolder of my hosting. My domain is www.gorangligorin.com, but i want to run my app in www.gorangligorin.com/testmvc. ASP.NET MVC runs with no problems on the top level, but not in subfolders.
The server says this (line 58 is colored red):
Line 56: ASP.NET to identify an incoming user.
Line 57: -->
Line 58: <authentication mode="Forms">
Line 59: <forms loginUrl="~/Account/LogOn" timeout="2880" />
Line 60: </authentication>
What can I do to make this ASP.NET MVC website work? This isn't hosted on my computer, so I don't have access to IIS configirations.
The settings of the root application in your IIS may affect your children apps. In order to prevent the root settings from propagating, insert the following code in your root web.config:
<location path="." inheritInChildApplications="false"/>
Hope this helps.
Did you create a ASP.NET Application in IIS for this directory? Otherwise ASP.NET thinks the root of your server is the root of your application, not the one in the subdirectory.
Did you try the following?
<forms loginUrl="~/testmvc/Account/LogOn" timeout="2880" />
The tilde (~) is a shortcut for the HttpRuntime.AppDomainAppVirtualPath property, which refers to the virtual application root, not the root of the web server.
HttpRuntime.AppDomainAppVirtualPath
http://msdn.microsoft.com/en-us/library/system.web.httpruntime.appdomainappvirtualpath.aspx
Also, what is up the asterisk?
Line 58: <authentication mode="Forms">*
There are Mainly two reasons for this issue:
If you Have not configured your asp.net application in IIS as in to set that Virtual Directory as an Application
Two or many Web.Config Exists on your Site. Since you have the web.config at the root level and the second web.config in the sub-directory. So just remove that web.config if its the same . or go back to 1 and solve it accordingly in the IIS
And since you added a subdirectory from root, I would say that you have to change your routes in the global.asax file, to handle the routing
Url = "testmvc/{controller}/{action}/{id}"
精彩评论