如何使用 URL 目录作为变量?
How do I use URL directories as variables?
我想知道像 Pastebin 和 Twitter 这样的网站是如何通过 URL.
传递(我假设的)变量的
例如,取一个 Pastebin URL。它的格式为 http://www.pastebin.com/<PASTE_UID>
。我想知道他们如何在没有服务器试图将其视为实际页面的情况下解析 UID。我无法想象他们会为每个 post.
生成单独的文件
我知道这很可能是 mod_rewrite 的组合,并在后端从 URL 解析变量以提取变量,但我不知道该怎么做.
正如您所说,您可以使用 apache mod_rewrite,即:
在您网站的根目录中创建一个 .htaccess
文件,内容如下:
RewriteEngine on
RewriteRule ^uid/(.*)$ /uid.php?uid= [NC]
例如,如果 url 是 http://yoursite.com/uid/123456,apache 将通过 $_GET
请求将值 123456
发送到 uid.php
,您可以得到uid 值使用:
<?php
if(!empty($_GET['uid'])){
$uid = $_GET['uid'];
//123456
}
?>
我想知道像 Pastebin 和 Twitter 这样的网站是如何通过 URL.
传递(我假设的)变量的例如,取一个 Pastebin URL。它的格式为 http://www.pastebin.com/<PASTE_UID>
。我想知道他们如何在没有服务器试图将其视为实际页面的情况下解析 UID。我无法想象他们会为每个 post.
我知道这很可能是 mod_rewrite 的组合,并在后端从 URL 解析变量以提取变量,但我不知道该怎么做.
正如您所说,您可以使用 apache mod_rewrite,即:
在您网站的根目录中创建一个 .htaccess
文件,内容如下:
RewriteEngine on
RewriteRule ^uid/(.*)$ /uid.php?uid= [NC]
例如,如果 url 是 http://yoursite.com/uid/123456,apache 将通过 $_GET
请求将值 123456
发送到 uid.php
,您可以得到uid 值使用:
<?php
if(!empty($_GET['uid'])){
$uid = $_GET['uid'];
//123456
}
?>