【问题标题】:Get the URL in variable and then redirect with .htaccess获取变量中的 URL,然后使用 .htaccess 重定向
【发布时间】:2013-05-24 11:01:13
【问题描述】:

我正在尝试获取最近输入的 URL,因为我将使用它来进行查询。

假设我有一个网站:

mysite.com

当有人使用此地址访问我的网站时

mysite.com/thisisjustsometextcanbeanything

我想使用.htaccess 从该地址重定向到mysite.com

但在它重定向之前,我想获取 mysite.com/thisisjustsometextcanbeanything 并将其存储在一个变量中,以便以后使用它。

我在 JavaScript 和 PHP 的帮助下研究了 document.referrer。我认为正确的方法是在 cookie 的帮助下存储值,但不知道该怎么做。

如果不清楚,请提出您的问题,我会回答。

谢谢

【问题讨论】:

  • 在 .htaccess 中编写一条规则以从这些 URL 重定向到 ./route.php 并在这个 php 文件中 - get 的 URL 并使用 header('location:..) 将他发送到 mysite.com
  • @Prasath K 编辑帖子时,请花时间解决所有问题,而不仅仅是少数问题。特别是,SO 不是短信,请删除所有表情符号和俚语。并且不要在原始帖子中不存在的粗体字母中添加奇怪的强调。谢谢。
  • @Lundin 我没有解决所有问题...??对不起,如果我错过了任何

标签: php javascript .htaccess variables cookies


【解决方案1】:

你是在正确的方式。您应该首先进行重定向,然后在您的 php 脚本中解析引荐来源网址。像这样通过 $_SERVER 变量访问引用者,并保留用户的引用 url。

$_SERVER[HTTP_REFERER]

当您执行类似 mysite.com/something 的重定向时,您应该检查 something 是否像文件一样存在,如果存在,则不要执行任何重定向。这是通过在重写规则之前使用这一行来完成的。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

作为 .htaccess 文件的条件。 Wordpress 就是这样做的。

就是这样,尝试一个人做,如果你有任何问题,再写在这里:)。

【讨论】:

  • 这次我很幸运。在我尝试您的方式时,我意识到我可以使用 ErrorDocument 404 并获得重定向,并且仍然在地址栏中具有价值。然后我只需要使用这段代码来获取我想要的部分。 var url = window.location.pathname; var url = url.substring(8);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多