如何使用URL目录作为变量?

时间:2015-05-16 23:32:47

标签: php mod-rewrite url-rewriting

我想知道像Pastebin和Twitter这样的网站是如何通过网址传递(我假设的)变量。

例如,使用Pastebin URL。它的格式为http://www.pastebin.com/<PASTE_UID>。我想知道他们如何在没有服务器尝试将其视为实际页面的情况下解析UID。我无法想象他们会为每个帖子生成单独的文件。

我知道这很可能是mod_rewrite的组合,并从后端的URL解析变量以提取变量,但我对如何做到这一点感到茫然。

1 个答案:

答案 0 :(得分:1)

正如你所说,你可以使用apache mod_rewrite,即:

使用以下内容在您网站的根目录上创建.htaccess文件:

RewriteEngine on
RewriteRule ^uid/(.*)$ /uid.php?uid=$1 [NC]

例如,如果网址为http://yoursite.com/uid/123456,则apache会通过123456请求将值$_GET发送给uid.php,您可以使用以下方式获取uid值:< / p>

<?php
if(!empty($_GET['uid'])){
  $uid = $_GET['uid'];
  //123456 
}
?>