在页面加载之前获取URL并重定向

时间:2014-04-08 17:13:04

标签: javascript asp.net web

所以,我有一个有趣的情况。我一直在努力重新组织网站上的目录。我更新了旧文件,其中大约有100个,它们位于新位置。旧文件已被删除。

我遇到的问题是,可能有数百人直接在旧文件的网址上添加书签。 (e.i.“wahwah.com/subSite/pdfs/something.pdf”)这些文件已有5年历史,因此他们无论如何都需要找到新文件。

因此,我没有为每个单独的文件创建一个页面,我是否可以在目录中放置用于存放该URL以查看该URL并重定向到新页面的内容?

它会关注“wahwah.com/subSite/pdfs ..”并重定向。或者也许是在这个subSite的主目录中的某些内容,以观察其中包含/ pdf路径的URL。

我知道我可以在java脚本中获取URL,但这对我没有帮助,除非我能做到我上面所说的。我不知道如何在.NET中完成它。我们的服务器支持.NET,因为我们的大部分网站应用程序都是用它制作的,但我没有处理它们。我不能使用PHP,服务器不使用它。

我希望JavaScript能够以某种方式实现它,但这是我以前从未尝试过的东西所以只是想一想我不确定我能做到。我不是很喜欢使用JS库所以我不确定那里有什么我一直在搜索。

我找到了Grunt,但我还不完全确定它是如何运作的。只是环顾四周文件过滤器或matchBase。或者一些全球模式。

2 个答案:

答案 0 :(得分:0)

如果您有权访问服务器,最好选择在wahwah.com/subSite/pdfs/目录中设置重定向。
如何执行此操作取决于您使用的是IIS还是unix。

答案 1 :(得分:0)

在asp.net中,301重定向非常有效。

if (HttpContext.Contains("http://old.aspx"))
    {
        HttpContext.Current.Response.Status = "301 Moved Permanently";
        HttpContext.Current.Response.AddHeader("http://www.new.aspx");
    }

或者在页面加载中你可以写:

Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://new.aspx");