如何根据唯一 ID 创建 url 虚拟 'directory'

How to make a url virtual 'directory' based on unique Ids

让我们从一个例子开始:我想做 Tumblr 正在做的事情。更具体地说,每次单击 'reblog' 按钮时,URL 都会更改为 "/reblog/UNIQUEID/UNIQUEID/"。 但显然他们没有数百万个目录,每个目录中有 html 个文件。

所以我想知道,如果我想做一个类似的东西,我会怎么做? 我们可以通过 PHP GET 获取唯一 ID,然后使用 JavaScript 更改 URL 以将其显示为 "/dir/uniqueId" "/dir?=uniqueId" 但这看起来很麻烦。

如果我们这样做,它还会带来一个新问题:如果用户在 URL 栏中输入 "/dir/uniqueId" 会怎样... .那是行不通的,因为它是来自 JavaScript.

的编辑字符串

我不熟悉 htaccess,但我很确定它对答案有很大的影响。

那么,如何解决这个可怕的 url 语法(?= 等)问题,使其看起来更像目录,但根本上不是?

回顾: 如何在使用 PHP/htaccess 时使 /dir/uniqueId 工作,但 uniqueId 不是目录或实际文件

这是一个例子...

.htaccess

RewriteEngine on
RewriteRule ^reblog/([^/\.]+)/?$ index.php?reblog= [L]

index.php

if (isset($_GET['reblog'])) {
    $uniqueId = $_GET['reblog'];

    //Do some stuff with that $uniqueId
}

url 例子

http://www.somesite.com/reblog/foo123bar

您可以根据此示例进行构建以满足您的要求。就你现在的问题而言,它太宽泛了,无法提供更具体的答案。