我正在运行一个 asp.net Web 应用程序,为了优化搜索引擎,我希望将我购买的任何域名 301 重定向到我的首选域名。
出于测试目的,我在我的 localhost 项目中添加了一个 Global.asax 页面并添加了以下代码:
protected void Application_PreRequestHandlerExecute(Object sender, EventArgs e)
{
string currentUrl = HttpContext.Current.Request.Url.ToString();
if(!currentUrl.StartsWith("http://www.mydomain.org"))
{
string strStart = currentUrl.Substring(0, currentUrl.indexOf(@"/Pages"));
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", currentUrl.Replace(strStart, "http://www.mydomain.org"));
Response.End();
}
}
我用我当前的域名之一替换了“http://www.mydomain.org”。一切都如我所愿。但是,现在当我从 .asax 文件中删除该代码,甚至完全删除 asax 文件时,该代码片段仍然运行。如此有效地运行我的 localhost 项目会打开我的在线网站,我无法阻止这种行为。
我做了以下事情:
- 删除“临时 ASP.NET 文件”文件夹中的所有内容
- 删除了我的 /bin 文件夹和整个 /obj 文件夹中的 .dll
- 清理并重建了我的解决方案。
- 创建了一个全新的解决方案,然后向其中添加了文件。这最初是有效的,但随着 Global.asax 文件的添加,会发生相同的行为。
虽然这是我最终想要的行为,但我想在我第一次实现它之后运行、调试和编辑它。我以前见过同样的问题,但似乎是通过上述方法之一解决的。请帮忙!