【发布时间】:2015-03-14 23:04:27
【问题描述】:
我正在构建一个类似于 Yelp 的网站:用户可以查看其详细信息的企业数据库。我正在尝试模仿 Yelp 的相同 URL 结构,例如:
http://www.yelp.com/biz/business-name-webpage
我如何动态生成业务页面 URL,而不是需要为数据库中的每个业务单独创建一个 .html/.php 文件?
【问题讨论】:
我正在构建一个类似于 Yelp 的网站:用户可以查看其详细信息的企业数据库。我正在尝试模仿 Yelp 的相同 URL 结构,例如:
http://www.yelp.com/biz/business-name-webpage
我如何动态生成业务页面 URL,而不是需要为数据库中的每个业务单独创建一个 .html/.php 文件?
【问题讨论】:
那些动态生成的 URL 称为干净 URL,人们出于不同的原因(例如 SEO)使用它们。如果您启用了mod_rewrite,那么您可以使用下面的代码。它将对不存在的文件或目录的请求传递给route.php。然后您可以根据给定的路径生成输出并将其发送给用户。
.htaccess:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) route.php?path=$1 [L]
路由.php
<?php
if(!isset($_GET['path'])){
echo 'Path is not set!';
}else{
//Print content for $_GET['path']
}
?>
【讨论】: