我在网址中有一个id参数,它看起来像
http://localhost/project/index.php?id=20234532
问题是这个数字可以在几天内增长到更大的数字。
首先想到:如果有任何方法可以使用htaccess从url中删除id值那么那很好。但不确定。
第二个想法:如果值20234532可以用更短的值编码然后再解码。
我现在无法想到任何其他可能的想法。我也不能使用post方法,因为这个id将永远存在于url中。
道歉,如果我把问题放在错误的位置,显然这不是一个问题,而是寻求解决方案。
答案 0 :(得分:0)
你可以在这里做很多事情。您可以将其转换为base 32,并使用mod_rewrite:
使URL更短$id = (whatever comes out of database)
$shortID = base_convert($id,10,32);
然后使用$shortID
制作网址:http://example.com/$shortID
,也许看起来像http://example.com/a5pqnf3k
(ID = 349832985716)。
然后在你的htaccess文件中:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ /index.php?shortID=$1 [L,QSA]
然后当你检查" shortID"你只需将其反转即可获得长ID:
$shortID = $_GET['shortID'];
$id = base_convert($shortID,32,10);