【问题标题】:hide get parameters completely without affecting the url using htaccess使用 htaccess 完全隐藏获取参数而不影响 url
【发布时间】:2012-07-21 06:30:55
【问题描述】:

我有我的网站:www.testurl.com。 index.php首先检查客户端的设备并相应地重定向到移动版本和桌面版本。

但是,在重定向到桌面版本时,我得到了 URL www.testurl.com/index.shtml?redirect=false。我想使用 htaccess 隐藏 ?redirect=false 部分。我怎样才能做到这一点?由于我的逻辑,我不能使用发布请求。

【问题讨论】:

  • 还有其他解决方案吗?我不能使用帖子..

标签: php .htaccess post url-rewriting get


【解决方案1】:

我假设你的 index.php 把它放在那里是因为它需要它。您不能通过在 htaccess 文件中使用指令来简单地隐藏它。

我将假设redirect=false 查询字符串是让index.php 知道不要基于用户代理重定向再次。那么 htaccess 中的规则是如何知道请求是否被重定向的呢? index.php 似乎需要能够查看正在请求的站点的版本。如果它是移动用户代理,并且正在访问网站的移动版本,请不要重定向。如果它是桌面用户代理并且正在访问该站点的桌面版本,请不要重定向。这样你就不需要redirect=false 查询字符串了。

【讨论】:

  • 如果检测到桌面代理,基本上 index.php 会重定向到 index.shtml。但是,如果有人通过手机直接访问 index.shtml,他们显然会得到桌面站点。这就是为什么我放了一个简单的 javascript 来捕获重定向参数。但后来我想隐藏这一点。这是主要问题
  • @ArpitGaur 你不能只用 htaccess 隐藏它。您需要解决问题而不必使用它。如果有人通过手机直接访问 index.shtml,请检查 user-agent 并将其定向到手机版本。
  • 我认为是时候使用 cookie 了 :(
  • @ArpitGaur 我曾想过提及 cookie,但这仍然取决于实施。移动浏览器转到桌面站点,获取重定向 + 获取 cookie。稍后,同一个浏览器(仍然有 cookie)再次访问桌面站点,它有 cookie,不会被重定向。
猜你喜欢
  • 2018-02-14
  • 2014-02-12
  • 1970-01-01
  • 2011-10-09
  • 2018-12-08
  • 1970-01-01
  • 2020-04-03
  • 1970-01-01
  • 2016-06-03
相关资源
最近更新 更多