我知道这个问题已经被问了很多次,并且也被大量的回复,但是我遇到了一些非常奇怪的情况,就像昨天我的代码在生产服务器和开发机器上工作一样,但是当我试图今天运行我的网站,它在我的404上笑我使用ASP.NET 4在IIS 6上进行URL路由/ URL重写? (没有IIS访问)
我被困在路由/重新编写SEO友好的URL到我的网站的原始网页,无法改变任何在IIS。 首先,我尝试使用UrlRewriter.NET,它在我的开发计算机(Windows Server 2008,IIS 7)上工作,但没有在登台服务器(Windows Server 2003 R2,IIS 6)上工作,因为它抛出了404错误。然后,我尝试使用UrlRewriting.NET,这也是我记得的。
编辑:当我试图用他们我的Visual Studio ASP.NET开发服务器上工作的UrlReWriting.NET但不是在IIS
然后我的一个同事和一点搜索说服我使用URL路由,而不是URL重写,所以我就到ASP.NET URL路由里面的Global.asax
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("GalleryCategory", "Gallery/", "~/Gallery.aspx");
routes.MapPageRoute("Gallery", "Gallery/{*image}", "~/Gallery.aspx");
}
下面的代码是的,我也尝试下面在web.config中,但没有使用的解决方案
<modules runAllManagedModulesForAllRequests="true">
<remove name="UrlRoutingModule"/>
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</modules>
但他们也让我无所适从所有那些404s。
PS。我的网站上只有一个页面需要SEO友好的URL,页面名称是Gallery.aspx,PathInfo/QueryString参数是动态的。
重要提示:我的生产服务器是Windows Server 2003与IIS 6和我的机器在Windows Server 2008 IIS 7
nope不工作,仍然扔404: – 2013-03-03 09:24:09