2009-09-24 50 views
2

如果用户类型我需要asp.net的路由一个简单的例子

http://myweb/mysite.aspx (file does not exist) 

我希望他们去

http://myweb/site.aspx (file does exist) 

我的目标是做一个双语网站(包括URL),但而无需进行物理文件

,这将是一个文件

http://myweb/acceuil.aspx 
http://myweb/home.aspx 
+0

http://stackoverflow.com/questions/1440883/mass-301-redirects-in-as-net-including-pages-that-need-to-redirect-to-a-differe – 2009-09-24 19:31:45

+0

您是否在寻找所有请求的页面不存在去site.aspx或只有mysite.aspx? – 2009-09-25 12:01:30

回答

3

不知道你正在尝试做的,但是这是你问的问题最好turtorial:

How to: Use Routing with Web Forms

+0

这是否需要旧页面的存在?如果是这样,在页面中添加一个简单的脚本可以解决这个问题,而不需要CustomRouteHandler。我认为他想要的是一种按名称指定新旧页面的方法,而不必将旧页面保留在服务器上。 – 2009-09-24 19:55:03

+0

我使用了第一个URL,“如何:使用Web表单路由”。如果你愿意,你可以删除它下面的所有内容。谢谢 – Fredou 2009-11-03 15:55:44

1

这不是路由;那是一个redirect

_rick_shott似乎有将恶意URL转发到301重定向的mojo。我提出了他的答案。你应该看看他的HTTPModule解决方案。

+0

与重定向,你必须创建一个文件,我想使用路由模块,所以我不会有这样做 – Fredou 2009-09-24 19:14:15

+0

你关心搜索引擎优化? – 2009-09-24 19:25:12

+0

@Fredou:如果您使用HTTPModule,则不必创建文件 – 2009-09-25 02:51:28

0

在你的web.config,添加的customErrors和错误的节点如下:

<customErrors mode="On" defaultRedirect="ErrorDisplayPage.aspx"> 
    <error statusCode="404" redirect="http://myweb/site.aspx"/> 
    </customErrors> 

这将displayErrorDisplayPage.aspx所有非托管错误,除了404错误(这是“找不到页面”)。对于404错误,浏览器将重定向到site.aspx页面。

+0

AFAIK这会将所有404的重定向到新页面,除非这是在一个位置元素中。有关更多信息,请参阅http://msdn.microsoft.com/en-us/library/b6x6shw7(VS.71).aspx。 – 2009-09-25 02:53:26

+0

对不起,我认为这是海报的要求 - 所有未找到网页去site.aspx。 – 2009-09-25 11:54:04

相关问题