如何制作网址虚拟目录'基于独特的ID

时间:2015-03-06 23:49:03

标签: php html .htaccess directory

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

所以我想知道,如果我想做一个类似的东西,我将如何处理它? 我们可以通过PHP GET获取唯一ID,然后使用JavaScript更改URL以将其显示为“/ dir / uniqueId”而不是“/ dir?= uniqueId”但是这看起来非常麻烦。

如果我们这样做,它还会提出一个新问题:如果用户在网址栏中输入“/ dir / uniqueId”该怎么办...因为编辑了来自JavaScript的字符串。


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

那么,如何将这个可怕的url语法问题(?= etc)修复为看起来更像目录的东西,但从根本上说不是?

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

1 个答案:

答案 0 :(得分:0)

这是一个例子......

<强>的.htaccess

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

<强>的index.php

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

    //Do some stuff with that $uniqueId
}

url示例

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

您可以根据此示例构建以符合您的要求。正如你现在提出的问题,它太宽泛了,无法提供更具体的答案。