我的问题是网址中的参数很少,如
mydomain.com/page.php?id=xe455144s&t=nameofpage&s=yt
现在我想转换这部分网址 -
page.php?id=xe455144s&t=nameofpage&s=yt
成为短/编码和单行的网址,如
mydomain.com/kid55e4s554e4s5 [this is what i imagined]
我知道如何使用.htaccess进行网址重写,但我不知道如何制作网址的简短数字或字母数字字符串。
我需要转换回正常的字符串以检索网址的值。
我知道base64_encode / decode但是这个函数创建了大量网址,我需要一个简短的网址。
php库中是否存在任何函数?
目的 - 我想为我的网站制作简短的URL以用于seo目的,并且还想在那些应该向所有人隐藏的网址中设置一些参数
请帮忙,
答案 0 :(得分:0)
您可以在网址格式WIKI Base64 RFC4648
中使用base64编码例如:
class Base64Url
{
/**
* It`s base64_encode, but used
* - instead +
* _ instead /
* and it does not contain =
*
* @param string $input
* @return string
*/
public static function encode($input)
{
$str = strtr(base64_encode($input), '+/', '-_');
$str = str_replace('=', '', $str);
return $str;
}
/**
* @param string $input
* @return string
*/
public static function decode($input)
{
return base64_decode(strtr($input, '-_', '+/'));
}
}
但使用任何编码方法都不会缩短您的网址。
如果我们需要生成短网址 - 您可以创建" map"。 例如,您生成哈希" Wqwr42S"并写入你的存储空间" Wqwe42S它是/ bla-bla-bla"