我最近将一个站点从 asp 转换为 CF。不幸的是,很多老用户都将“主页”添加为书签。www.example.com/homepage.asp
是否有一种方法可以将任何流量从该页面重定向到当前的 index.cfm?
我通常会删除这些文件,但所有者出于自己的比较原因想要保留它。
有任何想法吗?
谢谢
我最近将一个站点从 asp 转换为 CF。不幸的是,很多老用户都将“主页”添加为书签。www.example.com/homepage.asp
是否有一种方法可以将任何流量从该页面重定向到当前的 index.cfm?
我通常会删除这些文件,但所有者出于自己的比较原因想要保留它。
有任何想法吗?
谢谢
把这个放在旧的homepage.asp中
<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "/index.cfm"
%>
如果您根本不想在新站点上运行繁重的 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 重写。您可以在 *nix/apache 上使用 mod_rewrite,或者在 Windows/IIS 上使用ISAPI Rewrite或Ionics ISAPI Rewrite 。如果我在 IIS 上,我更喜欢 Ionics。
最好的办法是在实际的 homepage.asp 页面中进行元刷新,它又快又脏,但是可以。
更好的解决方案是让 .asp 页面执行 301 重定向到新主页,这样当搜索引擎访问该页面时,他们也知道它已移动。
当我遇到这样的事情时,我在 Linux 机器上所做的就是创建一个符号链接 ( ln -s /path/to/source /path/to/target
)。
不确定 Windows 等效项是什么,所以最好使用@Patrick 的回答。
编辑- 制作符号链接的 NTFS 方式:
http
://en.wikipedia.org/wiki/NTFS_symbolic_link
另见http://en.wikipedia.org/wiki/Symbolic_link