已加书签页重定向

已加书签页重定向

问题描述:

我最近将一个网站从asp转换为CF.不幸的是,许多旧用户的“主页”被收藏了书签。 www.example.com/homepage.asp已加书签页重定向

是否有一种捕获所有方式我可以重定向从该页面的任何流量到当前index.cfm?

我通常会直接删除这些文件,但是所有者想要保留这些文件是为了他们自己的比较原因。

任何想法?

感谢

+0

如果只有那些专门为例子保留的域名...哦,等等... – 2011-12-01 19:32:19

老homepage.asp

<%@ Language=VBScript %> 
<% 
Response.Status="301 Moved Permanently" 
Response.AddHeader "Location", "/index.cfm" 
%> 

最好的办法是做无论是在实际homepage.asp页面元刷新,它是快速和肮脏的,但作品。

更好的解决方案是让.asp页面301重定向到新主页,这样当搜索引擎访问该页面时,他们知道它已经移动。

+0

我喜欢你的第二个想法,但我不熟悉。你能指点我一个例子吗?谢谢 – 2008-10-29 14:01:11

+0

没关系,我google了一下,很简单。再次感谢! – 2008-10-29 14:09:59

我做Linux的机器是什么,当我遇到这样的事情将这个是创建符号链接(ln -s /path/to/source /path/to/target)。

不知道什么是Windows等效,所以用@Patrick's答案可能是最好的。

编辑 - 做一个符号链接的NTFS方式:
http://en.wikipedia.org/wiki/NTFS_symbolic_link
也看到http://en.wikipedia.org/wiki/Symbolic_link

如果你不想运行繁重的asp文件的新网站在所有的,你可以做一个Web服务器上的自定义404。如果你点了404页的文件.CFM,你可以通过包含从请求中提取所有的各种功能:

<!--- parse out the text in the URL parameters into an array ---> 
<cfset variables.requestparams = listtoarray(cgi.query_string,'/?&')> 

<!--- get rid of the first 2 items in the array since they dont represent request info ---> 
<cfset foo = arraydeleteat(variables.requestparams,1)> 
<cfset foo = arraydeleteat(variables.requestparams,1)> 

你会留下代表原始请求被传递的参数数组。您可以通过对url组件进行任何分析来跟进此事,以便将其映射到CF站点中的类似页面。

我很惊讶没有人提到URL重写。您可以在Windows/IIS上的* nix/apache上使用mod_rewrite,或者使用ISAPI RewriteIonics ISAPI Rewrite。如果我在IIS上,我更喜欢Ionics。