【问题标题】:Dynamic mod_rewrite or how to plan a dynamic website动态 mod_rewrite 或如何规划动态网站
【发布时间】:2010-03-28 14:20:52
【问题描述】:

我正在尝试为动态网站上的博客创建一个干净的 url,但我认为问题在于我不知道如何规划网站架构。

我阅读了有关如何使用 mod_rewrite 的信息,但我发现的只是如何将“http://www.website.com/?category&date&post-title”转换为“http://www.website.com/category/date/post-title”。这对我来说没问题。

问题是,如果我的 url 看起来像“http://www.website.com/blog/?id=34”,那么这个方法就不会起作用。

所以,我有两个问题: 1.有没有办法使用mod_rewrite(可能从txt文件中读取)来读取我博客的帖子标题并按日期和帖子标题重写我的url? 2.我应该重写我的网站以从主页的一个索引文件中查询数据并使用mod_rewrite来编写nice url吗?我是否还应该查询帖子的日期和标题,而不是只查询帖子 ID?

【问题讨论】:

    标签: php mod-rewrite dynamic-data blogs web-standards


    【解决方案1】:
    1. mod_rewrite 用于重写requests,与urls无关。您必须手动更改网址。
    2. 是的,最常见的做法是从一个索引文件中查询数据
      不,您不能使用 mod_rewrite 来编写漂亮的 url
      是的,URL 中必须有一个 ID 和标题。您的引擎只会丢弃标题并仅使用 id 来检索文章。

    以 SO url 为例

    【讨论】:

    • 谢谢 2# 有道理...而且我不使用 mod_rewrite 来编写漂亮的 url,我正在编写漂亮的 url 并且 mod_rewrite 在幕后重定向页面。
    【解决方案2】:

    您所说的通常称为路由,并且存在许多使用 PHP 执行此操作的不同方法的示例。最常见的方法是使用前端控制器模式,这意味着在简单的情况下将所有 URL 重写为单个 php 文件,然后让该文件根据 URL 确定要动态显示的内容。

    最流行的 PHP 框架(CakePHP、Symphony、Codeigniter 等)都包含路由代码,您可以使用这些代码或作为灵感。或者,如果您想自己动手,这篇文章涵盖了很多基础知识:http://www.phpaddiction.com/tags/axial/url-routing-with-php-part-one/

    【讨论】:

    • phpaddiction.com 的链接已损坏
    • 嗯,似乎是一个临时故障,我看到该网站现在正在备份。
    【解决方案3】:

    RewriteMap 允许您进行各种动态重写(文本文件、脚本等)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-09
      相关资源
      最近更新 更多