gpt4 book ai didi

.Htaccess 重定向的正则表达式

转载 作者:bug小助手 更新时间:2023-10-28 01:29:45 25 4
gpt4 key购买 nike

我构建了一个脚本来缩短长网址。一切正常,除了当我访问缩短的链接时,我得到了

错误 “未找到请求的 URL/ESrdhPNLMV 在此服务器上未找到。”

缩短的网址具有 http://example.com/ESrdhPNLMV 格式。 “ESrdhPNLMV”部分作为标题存储在数据库中,作为长url的标题。

当前的 .htaccess 规则

RewriteEngine on
RewriteRule ^([^\/]+)\/?\/example.com\/?title=$1 [L,QSA]

我从某人那里得到了代码并用 regex101.com 进行了修改并以上面的代码结束。请问当我访问短链接时,重定向到数据库中存储的url的正确方法是什么。

下面是从db获取url的代码:

     if(isset($_GET['title'])){
//select link from database
$result = $db->prepare("SELECT * FROM links WHERE title =?");
$result->bind_param("s",$_GET['title']);
$result->execute();
$goto = $result->get_result()->fetch_array();
$g = $goto[1];
header("Location: $g"); }

错误登录:

$goto = $result->get_result()->fetch_array();

即:

 PHP Fatal error:  Call to undefined method mysqli_stmt::get_result() in

读到上面的错误有一个 lin to mysqlnd 驱动程序,我检查了 phpinfo() 并发现驱动程序已启用。那我在这里做错了什么?

更新:现在我已经能够解决错误消息了。然后去

http://example.com/?title=ESrdhPNLMV 

现在打开相同的 http://example.com/?title=ESrdhPNLMV

最佳答案

您需要将规则更改为:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w-]+)/?$ /?title=$1 [L,QSA]

关于.Htaccess 重定向的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45599960/

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