来自数据库的自定义PHP URL

时间:2013-01-09 10:13:26

标签: php database url mod-rewrite permalinks

我在创建一个简单的数据库时遇到了问题,我希望你能给我一些帮助;)。

问题:

我需要创建一个包含优惠(例如酒店,假期等)的数据库,这根本没有问题。我们想要做的是使每个条目可以使用可由作者自己选择的单个URL进行自定义。例如,我们有一个概述页面(overview.php),其中列出了所有商品。现在我想点击第一个提供“Mallorca”,例如继承id 50.动态URL就像“detail.php?id = 50”,例如,我想从我的个别字段重写它们作者在创建条目时指定的数据库,如下所示:

Offer Name
Offer Date
Offer Price
URL (which can be anything, also blabla.htm)

然后,应使用URL字段为每个商品创建自定义个人网址 - 例如detail.php?id = 50将成为mydomain.com/offers/mallorca.htm

我知道可以查询mod_rewrite,但我还没弄清楚如何将它组合起来使用我数据库中的字段。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

您可以按如下方式重写:

RewriteRule ^/offers/(*.)$ detail.php?url=$1

然后,您必须通过它的网址和指定的网址GET参数在detail.php文件中找到您的优惠

答案 1 :(得分:1)

只是让你思考或反弹的想法:

  1. 如果你让作者自由地输入他们自己的URL,你必须为URL唯一性实现一个控制,而不是让用户保存数据,直到具体报价的URL部分为止。非常独特
  2. 更简单的方法是只拥有mydomain.com/offers/50/这样的网址 - 在实施花费的时间更短的情况下,它仍然看起来更好
  3. 最后,您必须为您的.htaccess写一个重写规则,而结果取决于您将采用的方式(从第1点或第2点):
    • 1:RewriteRule ^/offers/(.*)$ detail.php?url=$1 [L, QSA]
    • 2:RewriteRule ^/offers/(.*)/$ detail.php?id=$1 [L, QSA]
  4. 如果您使用第一个选项(您想要的那个),您还必须通过提供的URL部分查找商品,在第二个选项中按ID查找。

    希望这有帮助。