【问题标题】:.htaccess mod_rewrite to create clean URLs.htaccess mod_rewrite 创建干净的 URL
【发布时间】:2012-06-15 20:21:17
【问题描述】:

我有一个数据驱动的网站,它使用 $_GET 参数传递信息以确定下一页应该显示的内容。

我希望 URL 看起来更好,结构更简单。

我一直在阅读有关 mod_rewrite 的信息,但到目前为止未能实现它。

<?php $post = $_GET['ID']; ?>
<?php $loca = $_GET['loca']; ?>

这是从 URL 中获取的,以计算出我们想要什么表和什么帖子 ID。目前的网址是index.php?ID=4&amp;loca=Pages

如果是这样,我将如何完成这项工作。 /pages/(the name column of the post of this ID).

【问题讨论】:

标签: php .htaccess mod-rewrite


【解决方案1】:

这应该做内部重写:

RewriteEngine On
RewriteRule ^pages/(\d+)/ /index.php?ID=$1&loca=pages

它将任何以pages/(some number)/ 开头的url 重写为结果。如果 url 不完全是 /pages/id/(Name that matches id)/,您可能还应该添加一些服务器端逻辑来执行 302 重定向。您可以使用$_SERVER['REQUEST_URI'] 获取字符串,然后将其与应为的字符串进行比较,如果不匹配则进行重定向。

就像你去:https://stackoverflow.com/questions/11057691/This+is+not+the+title

您将被重定向到具有正确标题的版本。您还应该更新您网站周围的链接以使用新的 url 格式。

【讨论】:

    【解决方案2】:

    在 google 上有 很多 示例说明如何做到这一点。

    教程:http://wettone.com/code/clean-urls

    Mod_rewrite:http://httpd.apache.org/docs/current/mod/mod_rewrite.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-09
      • 2013-09-22
      • 1970-01-01
      • 2011-01-06
      • 1970-01-01
      • 2010-12-06
      • 1970-01-01
      • 2013-12-02
      相关资源
      最近更新 更多