我想知道如何使用php和apache创建干净的url。就像wordpress一样。
例如,在wordpress中只有一个文件index.php,它处理所有urls。我想知道它是怎么做到的?
像这样:
example.com/about或http://www.example.com/about/给index.php某种信息来生成页面。
web上有许多其他资源可以生成.htaccess,但只有以下文件特定:
example.com/products/cat1/10去example.com/products.php?c=cat1&id=10
我不想那样..。我希望所有的页面请求都以向php提供某种信息为结束,然后php生成页面.
什么将是.htaccess代码,以及php将如何处理请求。
发布于 2011-07-11 09:46:11
听起来你想要使用前面的控制器模式。这里有很多你可以选择的方向,但是如果你做了一个快速的谷歌搜索,你会发现很多地方可以开始。
发布于 2011-07-11 09:51:08
只需使用php重新绘制页面,然后使用apache重绘url
发布于 2011-07-11 09:57:05
哇哦!这个问题太臃肿了。有很多方法可以做你想做的事。基本上,您应该遵循一个简单的模式:
query string传递给index.php (只有这个文件将处理所有查询,因此在本例中我建议您遵循MVC pattern )。index.php中,您分析query string (分派),因此您知道应该做什么(查询字符串的一部分应该指向某个thich控制器并调用操作)。action ),它可以是类的方法(当类是包含方法-操作的controller时,非常常见的方法)。您应该编写自己的Url-Mapper,这样它就可以知道需要哪个控制器,以及应该根据查询字符串执行哪些操作。
顺便说一句,如果你真的喜欢WP的URL管理,为什么不直接钻研WP的代码呢?
https://stackoverflow.com/questions/6648314
复制相似问题