【问题标题】:In ColdFusion, how to I remove the text at the end of my URL?在 ColdFusion 中,如何删除 URL 末尾的文本?
【发布时间】:2016-01-19 19:29:34
【问题描述】:

有时,链接在我的网站中打开的页面末尾带有奇怪的文字(如 Facebook)。我想删除该文本,因为我的页面不会在那里显示。

例如,我想做的是告诉我的页面,如果 URL 在井号后有文本,请将其删除并打开没有它的 URL。

所以如果有人打开我的页面: http://www.example.com/news/stories/this-is-a-news-story/#sthash.MmwTdqVa.dpuf 我希望它更正并打开页面 http://www.example.com/news/stories/this-is-a-news-story/

我该怎么做?我知道如何用 PHP 做到这一点,但我是 ColdFusion 的新手。

谢谢! 布伦丹

【问题讨论】:

  • 我的页面不会在那里显示 - 在 URL 中包含任何其他信息不应影响您的页面的显示。如果您没有使用 URL 变量,那么它会被忽略。为什么要使用 ColdFusion 来处理这个问题?虽然 ColdFusion 可以满足您的要求,但它并不是为此而设计的。一个网络服务器是。如果您真的想修改 URL,那么您应该使用您的 Web 服务器来执行此操作。但是你会让自己陷入维护的噩梦。用户可以在浏览器地址栏中输入任何他们想要的内容。你会继续制定重写规则吗?
  • 一般来说,如果你可以用 php 做一些事情,那么将代码转换为对它所做的事情的描述。然后寻找使用 ColdFusion 完成它的方法。在这种情况下,请听 Miguel。
  • # 之后的东西(称为片段)不是 HTTP 请求的一部分,因此不会提交给服务器。您只能通过 Javascript 在客户端处理片段:window.location.hash

标签: facebook redirect hyperlink coldfusion cfml


【解决方案1】:

您是否使用像 AddThis.com 这样的服务?如果是这样,这些(和其他)营销服务可能会向 URL 添加片段以进行跟踪。它们是无害的,但如果您使用他们的服务,这里有关于如何删除它们的 AddThis 说明。 (在执行此操作之前,请咨询您的营销团队。)

http://www.addthis.com/academy/removing-hashtags-anchors-and-tracking-codes-from-your-urls/

片段未传递到 ColdFusion 服务器,也不在 CGI 范围内。它旨在仅在客户端浏览器中可用和使用。这应该不会导致“ColdFusion”生成页面出现任何问题,因此您的问题可能是由于 javascript。打开 Web Developer 工具 (F12) 以识别可能由意外片段引起的任何 javascript 错误。 (您没有提供 URL 或错误消息,因此很难解决您可能遇到的问题。)

这是 StackOverflow 上的现有解决方案,您可以使用它来删除片段客户端:

https://stackoverflow.com/a/13824103/693068

// remove fragment as much as it can go without adding an entry in browser history:
window.location.replace("#");

// slice off the remaining '#' in HTML5:    
if (typeof window.history.replaceState == 'function') {
  history.replaceState({}, '', window.location.href.slice(0, -1));
}

我只建议在页面加载期间执行一次,并且可能包含一个过滤器来保留您实际想要保留的任何片段。

作为旁注,我偶尔会在长页面中添加<a href="#top">Go to Top</a>,而没有任何匹配的#top 元素。通常任何没有找到的 id 都会强制浏览器自动滚动到顶部。

【讨论】:

    猜你喜欢
    • 2021-09-07
    • 2019-06-14
    • 1970-01-01
    • 2016-04-13
    • 1970-01-01
    • 2019-11-18
    • 1970-01-01
    • 1970-01-01
    • 2023-01-18
    相关资源
    最近更新 更多