我有一个移动网站,拦截样式表/图像并设置相对于设备的尺寸。我一直在IIS7上测试它并且工作正常。
直播网站是IIS6(惊喜)......
友好网址的正常路由工作正常,但样式表/图片拦截没有做任何事情。
以下是我的global.asax路由部分的片段:
public static void RegisterRoutes(RouteCollection routes)
{
routes.RouteExistingFiles = true;
routes.MapPageRoute("ImageResizerS", "images/{Sub}/{Path}", "~/Site_Handlers/ImageResize.ashx");
routes.MapPageRoute("ImageResizer", "images/{Path}", "~/Site_Handlers/ImageResize.ashx");
routes.MapPageRoute("StyleSheetIntercept", "Styles/{Path}", "~/Site_Handlers/InterceptStyleSheet.ashx");
routes.MapPageRoute("Landing page", "", "~/Site_Files/LandingPage.aspx");
}
似乎有什么问题?
我注意到了:
当我将routes.RouteExistingFiles = true;
设置为 false
时。它在IIS7上创建了相同的行为。 IIS6 ......没有拦截。
答案 0 :(得分:1)
在IIS6中,您需要启用通配符映射以确保正确的处理程序获取请求(在本例中为ASP.Net),否则它将像静态网页一样提供。有关如何使用,请参阅Microsoft web site。
步骤4中的可执行路径将根据您的.Net版本而有所不同,但最简单的方法是从.Net已处理的其他映射(.aspx,.ashx等)中复制该值。
答案 1 :(得分:0)
在服务器上,打开IIS: