我正在寻找一个解决方案,将允许我打印一组网页的通用网址。例如:对于pages - site.com/About/Contact.aspx、site.com/About/ whWeAre.aspx、site.com/About/Members.aspx等,用户在地址栏中只能看到site.com/About/。这是可以实现的吗?这个网站不是SEO友好的,需要用户登录后才能访问内容,而且我也不希望site.com/About/或任何内部页面在浏览器上直接键入时解析为任何页面。我也很好,如果真正的网址打印在状态栏上,如果用户徘徊在内部链接。我不认为URL重写或URL路由在这里起作用。也可能是我错过了什么。使用.NET 3.5和C#。我给sitecore打上标签是因为我对基于sitecore的解决方案更感兴趣,我在About树下有不同的节点,我希望用户在地址栏中只能看到最多的/About,但我认为如果它可以在asp.net中完成,我就可以弄清楚sitecore部分。
发布于 2011-10-06 22:38:49
由于你对sitecore感兴趣,我可以告诉你我们是如何在最近的sitecore构建中完成自定义URL的。
您需要通过扩展当前的LinkProvider.LinkBuilder sitecore类来拥有一个自定义的链接管理器。然后,您需要添加您的自定义逻辑,通过覆盖GetItemUrl和BuidlItemUrl来显示URL,最后在web.config中为sitecore使用您的自定义链接管理器添加自定义逻辑。
发布于 2011-09-21 00:06:04
当然,请使用asp.net 4路由引擎。
这将为您提供您想要的:http://weblogs.asp.net/dotnetstories/archive/2011/01/03/routing-in-asp-net-4-0-web-forms.aspx
编辑:对于3.5,请查看:Friendly URLs for ASP.NET
发布于 2011-09-21 04:13:11
解决这个问题的唯一方法是将/About保留在地址栏中,这就是创建客户端代码,根据用户的选择关闭内容。
https://stackoverflow.com/questions/7488222
复制相似问题