gpt4 book ai didi

php - 是否有可能在 302.htaccess RedirectMatch 之后获取原始 URL?

转载 作者:可可西里 更新时间:2023-11-01 17:25:53 24 4
gpt4 key购买 nike

大家好。我开始编写自己的“URL 缩短器”。基本思路是使用 example.com/12345 重定向到另一个 URL。这种“匹配”是通过使用 .htaccess 将内容重定向到执行(现在与我们无关)内容的脚本来完成的。

我的 .htaccess 目前看起来像这样:

RedirectMatch 302 ^/\w{5}$ /redir.php

重定向匹配任何恰好为 5 的字符串并将其发送到我的 PHP 脚本,在该脚本中实际重定向到扩展的 URL。唯一的问题是我无法找到一种正确的方法来获取原始 URL,并将匹配的 URL 放入变量中。

作为旁注,整个事情发生在我用最少的知识设置的 VPS 上,所以如果这个问题可以源于缺少的配置($_SERVER['HTTP_REFERER'] 不起作用),然后期望我的配置不是 100% 正确且符合标准。

编辑:从 RedirectMatch 更改为 RewriteRule,仍然不起作用。

RewriteRule ^\w{5}$ /redir.php [R,L]

最佳答案

您可以使用以下规则:

RewriteRule ^(\w{5})$ /redir.php?redir=$1 [R,L]

这会将 5 个字母的字符串作为查询字符串参数 redir 发送。您可以在 redir.php 中访问:

$_GET['redir']

编辑:或者正如@LawrenceCherone 建议的那样,您可以在 redir.php 中使用 $_SERVER['REQUEST_URI']。但是为此你必须在 .htaccess 中使用 NC 标志,比如:

RewriteRule ^(\w{5})$ /redir.php [NC,L]

关于php - 是否有可能在 302.htaccess RedirectMatch 之后获取原始 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47695583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com