URL Routing Rewrite Path But Keep Mimetype?
Feb 19, 2010
I have implemented my own IRouteHandler for URL routing. For files without extension it will try to load the filename as a Page from the Pages directory with:
return (IHttpHandler) BuildManager.CreateInstanceFromVirtualPath(path, typeof(Page));
However there are also images and css files (with relative paths) that need to be translated to the correct url. I try to service those files with:
try {
HttpContext.Current.Server.Transfer(fileName);
} catch (HttpException) {
throw new HttpException(404, "file not found");
}
This works fine (in Internet Explorer), however Firefox is giving me an error:
Styles.css was not loaded because its MIME type, "text/html", is not "text/css".
Is this caused by the Server.Transfer? What should I use to redirect the file? Response.Redirect is visible to the client.
View 1 Replies
Similar Messages:
Jan 13, 2010
I am using ASP.NET 2.0 on IIS6 therefore I can't use system.web.routing. I've tried a few URL rewriters but none did what I wanted.I basically need to transform (read/parse then redirect) URL 1 into 2 with minimum IIS configuration because I don't have the full authority to reconfigure web servers (i.e. ISAP on IIS6 or install 3rd party extensions/libraries). And I can't transform URL into 3 because all the physical links will break. [URL]
View 3 Replies
Dec 15, 2010
ASP.net 4.0 / IIS7.
I want to "alias" a single web form to appear as various extensionless urls. Given a form in my web root called "mySite.com/ColorWebForm456.aspx":
I want it served as multiple names, e.g., mySite.com/Color, mySite.com/Colour, mySite.com/Colors, mySite.com/Coler, etc., without creating folders and duplicate forms with those names.I never want mySite.com/ColorWebForm456.aspx displayed in the browser, it needs to display as mySite.com/Color, even if the user somehow acquires it and types in that exact ~.aspx address. The variations will account for several alternate or mis-spellings users might attempt - I don't want them "corrected", however. So, if a user types in mySite.com/Colour, the url is NOT rewritten to mySite.com/Color, but the same page is served via ColorWebForm456.aspx as the requested "mySite.com/Colour".
I've seen so many articles on this that I'm not even sure where this would be best handled: in Global.asax, IIS7 URL Rewrite, web.config, etc., and I'm not even sure this is technically a case of url rewriting or routing... ?
View 4 Replies
Jan 12, 2010
I am using System.Web.Routing with ASP.NET (3.5) Web Forms that will URL rewrite the following URL from
http://www.myurl.com/campaign/abc
http://www.myurl.com/default.aspx?campaign=abc
The code is as below:
public static void RegisterRoutes(RouteCollection routes)
{
routes.Add("CampaignRoute", new Route
(
"{campaign_code}",
new CustomRouteHandler("~/default.aspx")
));
}
IRouteHandler implementation:
public class CustomRouteHandler : IRouteHandler
{
public CustomRouteHandler(string virtualPath)
{
VirtualPath = virtualPath;
}
public string VirtualPath { get; private set; }
public IHttpHandler GetHttpHandler(RequestContext
requestContext)
{
if (requestContext.RouteData.Values.ContainsKey("campaign_code"))
{
var code = requestContext.RouteData.Values["campaign_code"].ToString();
HttpContext.Current.RewritePath(
string.Concat(
VirtualPath,
"?campaign=" + code));
}
var page = BuildManager.CreateInstanceFromVirtualPath
(VirtualPath, typeof(Page)) as IHttpHandler;
return page;
}
However I noticed there are too many things to change on my existing aspx pages (i.e. links to javascript, links to css files).
So I am thinking if there's a way to keep above code but in the end rather than a rewrite just do a Request.Redirect or Server.Transfer to minimize the changes needed. So the purpose of using System.Web.Routing becomes solely for URL friendly on the first entry.How to ignore the rest of the patterns other than specificed in the code?
View 1 Replies
Jun 9, 2010
When I write following code in my view
<% Url.Action("Logon") %>
the mvc framework generates
/Account/Logon ({controller}/{action})
as path.
'/Account/Logon' path is an absolute path. Is there a way to change is to a relative path, like Account/Logon or ../Account/Logon.
Also, when I use the Html.Beginform(), the mvc framework generates <form action="/account/logon"..., I want to change this to <form action="account/logon"...So, problem is that I want relative paths instead of absolute path.
View 6 Replies
Sep 13, 2010
we are using URL Routing so a path like
[URL] would be output like [URL]
we have a data pager on the page that ties to the list view.
the data pager when changing pages reverts the url back to the un-routed version (like[URL])
how can i re-write this back to something more friendly for my app
ideally it would be great to have it look sometihng like /news/page/2
i can use IIS 7's new re-write module - already using it to remove trailing slashes.
View 2 Replies
Apr 14, 2010
I'm writing a multi-tenant app that will receive requests like http://www.tenant1.com/content/images/logo.gif and http://www.anothertenant.com/content/images/logo.gif. I want the requests to actually map to the folder location /content/tenant1/images/logo.gif and /content/anothertenant/images/logo.gif
I'm using asp.net Mvc 2 so I'm sure there's probably a way to setup a route to handle this or a custom route handler?
View 2 Replies
Oct 20, 2010
In an asp.net mvc application, I would like to be able to generate views, where the routing engine will create all URLs that point to a different site, i.e. change the application path.
View 1 Replies
Mar 15, 2010
I have a WebForm website that loads content pages in the form of a web user control (.ascx) using the querystring.
Sample url:
http://mysite.com/?page=/members/default or http://mysite.com/default.aspx?page=/members/default
The content files would be located at ~/contents/members/default.ascx.
Would it be possible and how to use the URL Routing to accomplish http://mysite.com/page/members/default and more folders down.
I have tried putting in the Global.ascx file:
[Code]....
In the default.aspx page:
[Code]....
Everything works fine if content is in the root folder and the url is http://mysite.com/page/about ==>
http://mysite.com/default.aspx?page=/about.
Errors when trying a content that is in a subfolder and the url is http://mysite.com/page/members/default ==> http://mysite.com/default.aspx?page=/members/default.
View 2 Replies
Apr 14, 2010
I'm going through my apps and carving out as many querystring URLs as possible by using Routing instead.For our product catalog,we have many product categories that have characters like ampersands and slashes in them which don't go over to well when used in a URL.
I'm currently using Page.GetRouteUrl in my databound objects to create URLs like "~/catalog/My Category", which gets encoded to "~/catalog/My%20Category", so I used string.replace to smooth that into "~/catalog/My_Category".
But then, as mentioned, I have categories with commas, ampersands, slashes, quotes, &c.,
My question: is there a general way to easily deal with these characters in route keys, or do I need to develop a list of URL-friendly characters to use and replace all of the ugly ones, then un-replace them when I'm passing the route data to my LINQ statements?If that's so, then I can't use <asp:RouteParameter /> in declarative markup.
View 1 Replies
Apr 21, 2010
I have an asp page that allows users to view documents, so far all document type are working great. But when I try to open an .msg file It doesnt know what program to use. I did some digging and found that this is probably because the MIMEType is not listed in my IIS. I know I need to add .msg "application/vnd.ms-outlook" But the MSDN post that I read said to open up the IIS MMC and right click on the local computer listed and go to properties. Properties does not appear as an option for me on the local computer list (I am assuming that this is because I am running IIS 5.1 on an XP machine, rather than IIS 6) I did find another post where someone said to do the following:
right click on my app
-> HTTPHeaders
-> File Types
->Insert values ".MSG" and Content Types as "application/vnd.ms-outlook"
->Apply
I was able to do this, but it did not fix the problem. how to add an MIMEType correctly in IIS 5.1?
View 1 Replies
Jul 20, 2010
I tried everything I could find, but still does not work on IIS routing.
View 2 Replies
Dec 12, 2010
I am using:
ASP.NET 3.5 SP1 with Web Forms Routing thru Global.asax (System.Web.Routing and RegisterRoutes)IIS 7
Everything is working fine in my local machine, but it gives the following error in my hosting environment:
Could not load file or assembly 'System.Web.Routing, Version=3.5.0.0, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
I did everything inside my web.config file mentioned in the following link:
[URL]
But I am still getting the above error.
What else am I supposed to do fix the error?
View 1 Replies
Feb 22, 2011
I have a Web application where i have added a reference to a RESTful WCF. I got the WCF url Routing to work in my webapplication by adding Inherits="RestService.Global" to the Web applications Global.asax.
<%@ Application Codebehind="Global.asax.cs" Inherits="RestService.Global" Language="C#" %>
But then i tried to create url Routing for the Web application and it does not work with the Inherits="RestService.Global" in the Global.asax. If i take it away it works fine. Is there a correct way to do this.
View 1 Replies
Jan 31, 2011
I'm trying to create my own CMS and I've gotten a little bit stuck at the stage of URL routing.
I want clean URLs without extensions and I'd like to be able to create and modify them in a web based interface without any messing around with IIS or actual files.
I've seen how to create a static route, but for that I need to go into my Global.asax file and manually add it.I would like to have all of these routes stored in a database so that I can easily modify them later.
Does anyone know how this can be achieved?
Just for extra information, I will be attempting to create a feature so that if a path exists, but is later changed, a 301 redirect is created to the new URL, is this also possible? (My first problem is the main issue, but thought I might ask this as well just in case it makes a difference)
View 2 Replies
Sep 2, 2010
How to handle asp.net mvc routing along with asp.net webform routing. I have merged my mvc app into my existing web application. In my web application i have implement routing as below:
routes.Add("View Product Details", new Route("Product/{City}/{Manufacturer}/{Name}/{ProductID}/{*ProductType}"));
Similarly i have implemented routing in mvc as below
routes.MapRoute("Product Details",
"Product/{City}/{Manufacturer}/{Name}/{ProductID}/{ProductType}",
new
{
controller = "Home",
action = "ProductDetails",
City= UrlParameter.Optional,
Manufacturer= UrlParameter.Optional,
Name= UrlParameter.Optional,
ProductID= UrlParameter.Optional,
ProductType= UrlParameter.Optional
});
How to handle both pages, as one is custom web form while other is asp.net mvc view?
View 1 Replies
Jul 21, 2010
Exsits any way to modify the temporary folder path returned by System.IO.Path.GetTempPath() method?
My asp.net application run under iis 7.
View 2 Replies
Oct 7, 2010
I have a code to open PDF file, like this
[Code]....
Over here I have created a folder with name Data inside my solution, so the Server.Mappath("Data") as well the statemet for converting assigning the src property of the IFrame I1 is working properly. But I want to use the files from a folder which resides in a network folder like
View 1 Replies
Jul 3, 2010
I am trying to upload a file Into a MapPath but I am getting a error 'C:/WebSite/userimages/' is a physical path, but a virtual path was expected. My code is:
[Code]....
View 6 Replies
Dec 20, 2010
I have a custom ASP.NET application that I utilize for several clients that I host. Each client has a separate domain and the application is normally a child application under the root domain [URL]. The application files are the same (aspx, ascx, style sheets, images, etc.). The only thing different is the web.config file for each client. As development of the application continues to evolve, I have to update the application for each directory and this obviously becoming tedious. I am trying to come up with a method keep the application up to date. My first though is placing the application into a single physical path and creating multiple applications pointing to that path (the problem with this method is I can't have different web.config files). I am curious as to what solution others are using in this scenario...
View 2 Replies
Apr 8, 2010
I am Final Year IT Engineering student. I am Doing Content Management System in ASP.net for my college. I have given link on my master page for various pages in the application; where I have specified only relative path of those pages. When I run this project and follow any link it works well for only first time and for second time when I click any link it .net run time environment unable to find the absolute address of that page.
View 2 Replies
Mar 29, 2011
When I press start on my VS2010/Silverlight/C# project, it opens a new instance of the included webserver and opens my browser window so I can test the application. Unfortunately something has happened and I am not sure what it was.. The browser window now opens the starting page with a local machine path (C:...page.aspx) rather than the normal webserver path through http (http://localhost:33592/page.aspx). It is a Silverlight Navigation project using c#/asp.net code behind.
View 2 Replies
Feb 14, 2010
I am trying to convert the virtual path to a physical path but don't seem to have Server.MapPath or HttpServerUtility.MapPath available in my handler. I add the System.Web namespace with no luck.
string virtualTargetFolder = String.Format("~/UserImages/{0}/Images/", user.ProviderUserKey.ToString());
string physicalTargetFolder = System.Web.HttpServerUtility.MapPath (virtualTargetFolder);
View 2 Replies
Feb 13, 2010
I had applied the following code as said by you :
byte[] b = YourByteArrayFromDb;
File.WriteAllBytes(MyFilePath, b);
But I am receiving an exception "Access to the path is denied". How do I solve this using ASP.Net with C#? And is there any format to set the path as string?
View 3 Replies
Dec 17, 2010
I was trying to use System.IO.Path.GetFullPath("Database.mdf") in the class "DAL" in a website im creating but instead of returning :
"F:MyProjectApp_DataDatabase.mdf"
It Returns "C:\Program Files (x86)\Common Files\microsoft shared\DevServer\10.0\Database.mdf"
View 2 Replies