php - 来自 DB 的漂亮 URL

标签 php mysql apache

我正在努力从数据库创建页面链接,如下例所示。

当前页:

www.example.com/page.php?pid=7

在数据库中,它在“公司信息”类别下保存为标题“联系我们”

我希望它是这样的:

www.example.com/company-info/contact-us.html

我尝试了不同的解决方案和答案,但没有得到任何运气。我不确定 PHP 部分在哪里以及为 .htaccess 文件编写哪些规则。

最佳答案

在 apache(或 .hataccess)中执行如下操作:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /proxy.php?_url=$1 [QSA,L]

简而言之,如果请求的资源不存在,则将其重定向到 proxy.php 文件。 $_REQUEST['_url'] 将是用户请求的 URL。

然后在您的主目录中创建 proxy.php 并添加您想要加载正确内容的任何逻辑。

如果您从 .htaccess 使用此文件,那么您可能需要将 RewriteBase/添加到您的配置中。

关于php - 来自 DB 的漂亮 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7052831/

相关文章:

php - Laravel 排序集合然后按键

php - 在 PHP 中按时间戳字段排列多个 sql 查询的算法

php - UTF-8贯穿始终

MySQL 查询 Hibernate 或 native 查询生日通知

javascript - 单击产品时打开右侧内容

c++ - fastCGI应用代码结构

php - 如何在我的主域上有一个 Django 应用程序,在子域上有一个 PHP 应用程序?

javascript - Ajax - 通过 ajax 将输入文件和附加变量发送到 php 文件

php - 同名的 Slug ID?

mysql - 制作我自己的递增mysql id而不自动递增