网站的301重定向一般用isapi_rewriter来做,只需要写规则,不需要改动网站程序。不过这样做也有限制,一般不能批量处理无规则的URL重定向,或者需要经过数据分析处理的URL重定向。
解决的方法是直接使用程序来完成URL重定向任务。ASP.NET中的URL重定向是通过Response对象来实现的,看例子:
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.StatusCode = 301;
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.ljf.cn");
}
在ASP和PHP中,也有类似的功能,看ASP例子:
ASP: Response.Status="301 Moved Permanently" Response.AddHeader "Location","http://www.ljf.cn/" Response.End
看PHP例子:
PHP:
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://www.ljf.cn/");
exit();
至于重定向的目标网址,可以在前面通过程序甚至读取数据库进行分析组合都是可以的。
延伸阅读:
IIS 资源的永久重定向
开源的URL重写工具 urlrewriter.net
301重定向代码和测试工具
本文首发:剑锋博客 尊重作者,请保留链接。