如何根据数据库中的信息创建uri。我知道如何发布到动态php页面并让它搜索数据库然后使用htaccess重写该url。但是我如何让php生成一个基于URI链接的页面链接点击让我们说在一个菜单中例如:数据库将有一个唯一标题,它将是URL部分的唯一uri,基本上标题代表菜单中“a href”链接中的链接uri。因此,如果somesite.com/加载主页面,但是如果用户单击链接somesite.com/a-dynamic-page/,这将是一个动态生成的页面。如何获取服务器而不是因为页面不存在而抛出404错误,让php查看数据库并从数据库加载数据,然后根据数据库中找到的“a-dynamic”生成页面-page“< - 数据库中的唯一uri?如果您对这个问题有任何明确的要求,请告诉我。
答案 0 :(得分:1)
你可能想先告诉.htaccess用你编写的一些php脚本来处理所有缺失的页面,把它放在.htaccess文件中:
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /my_processor.php [L]
</IfModule>
...这将有效地告诉apache所有对不存在的页面的请求应该直接重定向到您网站的文档根目录上的一个名为my_processor.php的脚本。
进入my_processor.php脚本后,您可以查看并解析$ _SERVER ['REQUEST_URI'],并使用它来确定您的脚本接下来应该做什么。即:
[my_processor.php]
<?php
//
@$uri=$_SERVER['REQUEST_URI'];
switch($uri)
{
default: die("Error");
case "/some-path-1/":
SomeFunction1();
break;
case "/some-path-2/":
SomeFunction(2);
break;
}
?>
请原谅上面的内容有多简单,但希望你明白这一点。