Sto diventando matto, ho provato tutte le soluzioni online ma nulla...
Avendo la necessità di fare un url rewriting per un sito mi sono basato su questa guida
http://blogs.msdn.com/b/mikeormond/archive/2008/05/14/using-asp-net-routing-independent-of-mvc.aspx
Tutto perfetto, in debaug con VS 2008 funziona correttamente. Sul mio PC ho IIS7
Nel momento di caricare il tutto sul mio VPS di Aruba non funziona più: il redirect da Default.aspx viene eseguito correttamente su miosito.com/IT/Home ma qua mi restituisce errore 404
Ho cercato soluzioni su internet e TUTTI dicono che si risolve aggiungendo alla "Wildcard application maps" la DLL isapi di asp.net ma nulla, non funziona, insiste con l'errore 404.
Come dicevo, in debug con VS 2008 il sito funziona correttamente ma nel momento un cui lo carico sul mio VPS non mi funziona più restituendo sempre errore 404.
Questo il mio codice su Global.asax
protected void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RegisterRoute(RouteTable.Routes);
}
void RegisterRoute(RouteCollection routes)
{
routes.Add("Contacts", new System.Web.Routing.Route("{language}/Contacts", new RouteHandler("~/Contact.aspx")));
routes.Add("Home", new System.Web.Routing.Route("{language}/Home", new RouteHandler("~/Default.aspx")));
routes.Add("Gallery", new System.Web.Routing.Route("{language}/Gallery", new RouteHandler("~/Gallery.aspx")));
routes.Add("Prices", new System.Web.Routing.Route("{language}/Prices", new RouteHandler("~/Prices.aspx")));
routes.Add("Where", new System.Web.Routing.Route("{language}/Where", new RouteHandler("~/Where.aspx")));
}
Questo il mio codice nel RouteHandler
public class RouteHandler : IRouteHandler
{
public RouteHandler(string virtualPath) { this.VirtualPath = virtualPath; }
public string VirtualPath { get; set; }
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
string lang = requestContext.RouteData.Values["language"] as string;
HttpContext.Current.Items["lang"] = lang;
return (Page)BuildManager.CreateInstanceFromVirtualPath(VirtualPath, typeof(Page));
}
}
E questa la riga aggiunta nel web.config
<httpModules>
<add name="RoutingModule" type="System.Web.Routing.UrlRoutingModule"/>
</httpModules>
Cos'altro posso provare?