2010-03-28 40 views
2

我想在动态网站上为博客制作一个干净的网址,但我认为问题在于我不知道如何规划网站架构。动态mod_rewrite或如何规划动态网站

我读了关于如何使用mod_rewrite,我发现的是如何使“http://www.website.com/?category&date&post-title”为“http://www.website.com/category/date/post-title”。这对我来说很有用。

问题是,如果我的网址看起来像“http://www.website.com/blog/?id=34”这种方法将不会工作,据我所知。

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

回答

2
  1. mod_rewrite用于重写请求它与网址无关。你必须手动更换网址。
  2. 是的,这是最常见的做法,从一个索引文件查询数据
    不,你不能使用mod_rewrite写的不错的网址
    是的,一个id必须出现在标题为沿网址。你的引擎只会丢掉标题,只用id来检索文章。

看看SO网址为例

+0

感谢 2#它是有道理的......而且我不使用mod_rewrite编写漂亮的url,我正在编写漂亮的url并且mod_rewrite将页面重定向到幕后。 – 2010-03-28 15:04:49

0

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

1

你说什么是通常被称为路由和不同的方式用PHP做很多例子存在。最常见的方法是使用前端控制器模式,这意味着在简单情况下将所有URL重写为单个php文件,然后让该文件根据URL来动态显示要显示的内容。

最流行的PHP框架(CakePHP,Symphony,Codeigniter等)都具有路由代码,您可以使用它们或者可以作为灵感。或者,如果您想自己动手,本文将介绍大量的基础知识:http://www.phpaddiction.com/tags/axial/url-routing-with-php-part-one/

+0

phpaddiction.com的链接被破坏 – milovanderlinden 2011-01-10 16:14:43

+0

mmm,似乎是一个暂时的故障,我现在看到该网站备份。 – Garethr 2011-01-11 11:26:29