gpt4 book ai didi

.htaccess 和 url 缩短器

转载 作者:行者123 更新时间:2023-12-04 16:32:07 25 4
gpt4 key购买 nike

我制作了一个网址缩短器应用程序,但似乎无法绕过 .htaccess 来缩短网址。
(我正在使用 xampp)
我的域名是 http://localhost/smd
我希望用户能够在 smd http://localhost/smd/code 之后添加一个 7 位代码
并将他们重定向到他们的页面
我当前的 .htaccess 代码是这样的:

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^[a-zA-Z0-9_{7}]*$ redirect.php?shortened=$1 [L]
它将用户重定向到我的 smd 目录中的另一个页面,而不是正确的页面。
提前致谢!
我的重定向文件:
    <?php

include_once './class/Short.php';
date_default_timezone_set('Europe/Athens');

if(isset($_GET['shortened'])) {
$short = new Short();
$code = $_GET['shortened'];
$short->shortened = $code;

$short->getOneUrlByShort();

$expire = $short->getExpiryFromShortened($code);

$comp = (date('Y-m-d H:i:s')<=$expire['expiry_date']);
$enabled = $short->is_enabled;

if ($url = $short->getUrl($code) And $comp And $enabled == 1) {

$redirect = $url['original'];
header("Refresh: 3;".$redirect);
die();
}else if($url = $short->getUrl($code) And !$comp And $short->renewable == 1 And $enabled == 1){
session_start();

$short->renewable = 0;
$newRenewVal = $short->renewable;

$newExpiration = strtotime('+'.$short->active_period.' minutes');
$formattedExpi = date('Y-m-d H:i:s', $newExpiration);

$original = $url['original'];
$_SESSION['original'] = $original;
$_SESSION['expiration_date'] = $formattedExpi;


$short->renewUrl($code, $formattedExpi, $newRenewVal);


header('Location: http://localhost/smd/expiredAndRenew.php');
}else {
header('Location: http://localhost/smd/urlExpired.php');
}

}



?>
我当前的目录看起来像这样 1

最佳答案

使用您展示的 sample ,您可以尝试以下操作。请确保在测试 URL 之前清除浏览器缓存。这也简单地捕获了 smd 之后的所有内容(使用 ignorecase emabled)在 uri 中并将其作为查询字符串传递给您的 redirect.php。如果您在 smd 之后寻找特定的字符串/匹配文本,请让我们更清楚地了解该部分。

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-_]{7})/?$ redirect.php?shortened=$1 [L]

关于.htaccess 和 url 缩短器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65796513/

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