C#学习教程:如何判断用户访问的是“/Default.aspx”还是“/”.cs的Global.asaxApplication_BeginRequest部分。出于SEO目的,我试图将正在查看的用户重定向:http://www.example.com/Default.aspx到:http://www.example.com/我的问题是:如何判断内容是什么用户观看?我一直在使用:HttpContext.Current.Request.Url.*但无论我访问哪一个,所有参数都是相同的。如果您只关心SEO,那么您可以使用规范的“标签”。如果您将它放在Default.aspx页面中:Google将始终将http://www.mysite.com/Default.aspx编入索引,因为http://www.mysite.com/会阻止这两个页面被编入索引并参与搜索竞争结果。您可以在此处阅读更多内容:http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html您可以获取在用户浏览器中输入的路径:stringpath=Request.RawUrl;MSDN我很确定这个特定的重定向发生在IIS级别而不是在您的应用程序逻辑中,或者IIS中的默认页面内容是否关闭?如果您使用的是IIS7.x,您应该查看本教程:http://weblogs.asp.net/scottgu/...。它解释了如何为SEO设置重定向。如果您不能在web.config中使用标签,这篇文章应该有所帮助:https://stackoverflow.com/questions/363231/…需要:http://domain.com/当从HttpModule的Begin_Request事件引用时:HttpContext.HttpRequest.Url.AbsolutePath=="/"...Url.AbsoluteUri="http://domain.com/"...Url.LocalPath="/"如果你没有从Application_BeginRequest看到这些值,你可能需要注册一个单独的HttpModule。Global.asax事件仅被托管的HttpHandler调用,因此在IIS执行到“/default.aspx”的内部重定向(传输)后它们可能不会被调用。您可能还需要禁用IIS中的默认文档处理,以使其按照您感兴趣的方向工作(大多数站点重定向自/指向/default.aspx,而不是相反)。编辑:另一个想法。使用构建提供程序(在web.config中)将新扩展注册为ASP.NET页面处理程序-也许是*.asph或类似的东西。然后将现有的default.aspx重命名为default.asph。接下来,将default.asph添加到IIS中默认文件列表的顶部,以替换default.aspx。创建一个新的default.aspx文件,其在后面的代码中的唯一功能是重定向到/。它应该。如果您请求http://www.site.com/,它会在您的代码运行之前很久重定向到http://www.site.com/default.aspx(浏览器可以看到这一点!)。我相信这意味着检查HTTP-Referer的值将告诉您您想知道的内容。HowtogetHTTPReferer:GetHTTPReferrerinASP.NET现在,如果用户访问http://www.site.com,你的代码会看到http://www.site.com/default.aspx和httpreferer调用适用于://www.site.com。这不会告诉您他们来自哪里,但会告诉您他们直接访问了该网站。您的优势在于大多数搜索引擎都遵循重定向并抓取实际页面,因此可以使用引荐来源网址值来判断用户是否来自搜索引擎。但是,对于其他情况,您最好不要使用IIS日志。请注意,由于ASP.NET中的基础结构将/重定向到/default.aspx,因此您无法在不创建无限循环的情况下将/default.aspx重定向到/。如果你想直接服务,你需要在IIS前面填充。您可以尝试HttpContext.Current.Request.Url.*parametererror:somakeyourwebsitevisitorurl:Request.AppRelativeCurrentExecutionFilePath更多信息:http://msdn.microsoft.com/en-us/library/system.web.httprequest.apprelativecurrentexecutionfilepath.aspx请提供更多信息并尝试解决您的问题Request.url将为您提供在浏览器窗口中打开的当前URL。你可以用它来编写你想要的代码。您也可以使用iis执行此操作。将Default.aspx设置为您的默认页面,每当有人打开您的网站时,地址将是www.yoursite.com如果您试图隐藏用户的当前url,则不推荐使用,但您可以使用urlrewriteiis了解网站位置的最佳方法用户的浏览器是通过javascript。如果你想将所有人从Default.aspx重定向回www.mysite.com,你可以这样做:$(document).ready(function(){if(window.location.href=="http://www.mysite.com/Default.aspx")window.location.href="http://www.mysite.com/"});注意:这依赖于$(documentation)的jquery,但是您明白了使用路由和IIS重写模块的组合的意义。您可能需要调整它以适应结尾的斜线(如果您想要的话)。我所有的页面名称都是小写的。使用此功能可确保对default.aspx页面进行一致的301永久重定向,并符合SEO最佳实践。在Global.asax中:然后在你的web.config中:如果你对路由不熟悉,可以通过以下链接访问主页面:以上是C#学习教程:如何判断用户是否在访问"/Default.aspx”或者只是“/”分享的所有内容,如果对你有用,需要了解更多的C#学习教程,希望大家多多关注——》>首页本文收集自网络且不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载,请注明出处:
