【问题标题】:What is the correct way to set up apache RewriteMap to pull from a Database? (PHP/APACHE/MYSQL)设置 apache RewriteMap 以从数据库中提取的正确方法是什么? (PHP/APACHE/MYSQL)
【发布时间】:2012-03-22 14:01:02
【问题描述】:

我正在尝试在我的小型 Web 应用程序上设置干净的 URL。现在 URL 的样子:

http://www.mysite.com/productinfo.php?product=19

我希望他们成为:

http://www.mysite.com/productinfo.php?product=Shoes

我将如何编写 RewriteMap 和 PHP 脚本来提取数据库中的 title 列并将其注入 URL 中以代替产品 ID 并以愉快的方式转发访问者?

【问题讨论】:

  • 也许你真正想做的更像是http://www.mysite.com/product/info/9/shoes
  • 是的,实际上我愿意。我想我是想尽可能地简化问题。

标签: php mysql apache .htaccess rewritemap


【解决方案1】:

好吧,在这种情况下,您似乎不需要重写 URL,因为您只是使用相同的 $_GET 变量。

当您解释$_GET['product'] 时,只需在数据库中检查正确的标题,并从那里找到正确的产品ID。我认为你不需要 Apache 来解决这个问题。

【讨论】:

  • @A Stubbs,你需要决定你想在这里做什么。如果你想要 SEO 风格的 URI,那么你需要你的应用程序来解码 /product/Shoes,而 HTTP 服务器在这里没有帮助。
  • 这就是为什么我做了 +1,但只是为 OP 转述 ;-)
【解决方案2】:

你可以像这样使用简单的重写 -

RewriteEngine On
RewriteRule ^product/info/.*$ productinfo.php [NC,L]

在 htaccess 文件、vhost 或其他配置中,然后使用 -

$var = $_SERVER['REQUEST_URI'];

检索原始请求。这只是一个非常简单的例子,但它应该能让你朝着正确的方向前进。

【讨论】:

    猜你喜欢
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 2013-07-06
    • 2011-12-17
    相关资源
    最近更新 更多