【问题标题】:Preventing shortened URL (by htaccess) resolving防止缩短的 URL(通过 htaccess)解析
【发布时间】:2016-04-03 13:25:36
【问题描述】:

这对我来说真的是一个知识获取者,每天都是上学日,我想知道什么是可能的,而不是尝试去做一些不可能的事情。

我在这里得到了帮助 (.htaccess to hide 2 folder paths) 缩短了完整路径,因此访问该网站的人不知道完整目录。

我现在的问题是,我希望输入的短 URL 不太解析,但只能浏览,我希望该 URL 纯粹是为了显示,如果要输入它不会不工作。这可能吗?

【问题讨论】:

  • 所以你想要像shorten.er/XXXXX 这样的东西去example.com/example 位仍然在地址栏中显示shorten.er/XXXXX
  • 不,如果用户键入 example/pictures/pictureone.php(htaccess 缩短了以下 example/media/pictures/pictureone.php),我想要实现的东西在键入时不起作用在。

标签: .htaccess security url


【解决方案1】:

您不能使用 .htaccess 重写规则来执行此操作 - 如果 URL 在链接中有效,那么在输入时它也有效。

(好吧,从技术上讲,您可以使您的重写规则以是否存在适当的 HTTP Referer (sic) 标头为条件,但 that's not something you really should rely on.

可以做的是fake the URL shown in the browser's address bar使用JavaScript History API,像这样:

history.replaceState({}, "", "/whatever")

(尝试在浏览器的 JS 控制台中运行它!)

当然,这只是表面上的改变;您仍然需要在链接中使用页面的 real URL,对于对 Web 浏览器如何工作有基本了解的人来说,找出真正的 URL 将是微不足道的。它还具有令人讨厌的副作用,即重新加载页面会导致浏览器尝试加载虚假 URL,可能会破坏页面。但这几乎是不可避免的。重新加载页面和在地址栏中输入其 URL 实际上没有区别。但如果你对这一切都满意,这可能是一种方法。

不过,老实说,我怀疑您真正应该做的是停止尝试这样做,而是退后一步,尝试为您的真正 问题,不管它是什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多