2

我最近将一个站点从 asp 转换为 CF。不幸的是,很多老用户都将“主页”添加为书签。www.example.com/homepage.asp

是否有一种方法可以将任何流量从该页面重定向到当前的 index.cfm?

我通常会删除这些文件,但所有者出于自己的比较原因想要保留它。

有任何想法吗?

谢谢

4

5 回答 5

6

把这个放在旧的homepage.asp中

<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "/index.cfm"
%>
于 2008-10-29T14:09:01.170 回答
2

如果您根本不想在新站点上运行繁重的 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 站点中的类似页面。

于 2008-10-29T20:38:45.707 回答
2

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

于 2008-11-01T04:13:59.183 回答
0

最好的办法是在实际的 homepage.asp 页面中进行元刷新,它又快又脏,但是可以。

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

于 2008-10-29T14:00:01.003 回答
0

当我遇到这样的事情时,我在 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

于 2008-10-29T15:09:52.763 回答