我想从数据库中获取数据并将其分配给基于它的 id 的网址。例如,如果我从数据库中获取 5 个数据,我想将这些数据分配给一个网址,而不使用 Get 方法。
就像 thiswww.example.com/datafromdatabase
而不是 this www.example.com?id=datafromdatabase
。我见过很多论坛网站使用“/”,但我只知道获取“?” 方法。
我想从数据库中获取数据并将其分配给基于它的 id 的网址。例如,如果我从数据库中获取 5 个数据,我想将这些数据分配给一个网址,而不使用 Get 方法。
就像 thiswww.example.com/datafromdatabase
而不是 this www.example.com?id=datafromdatabase
。我见过很多论坛网站使用“/”,但我只知道获取“?” 方法。
在这种情况下,您正在寻找重写,对于 Apache,您将需要使用重写规则:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?id=$1 [L,QSA]
对于 nginx,您还想使用try_files:
try_files $uri $uri/ /index.php?id=$uri;
如果文件不存在,这两个都将转换为/directory
,index.php?id=directory
这将允许图像等仍然正常提供,并且只重写不是文件或目录的内容。