mod_rewrite和漂亮网址背后的概念是什么?

时间:2010-09-01 16:00:00

标签: mod-rewrite url-rewriting

我已经google了很多,阅读了很多,但仍然无法弄清楚漂亮的网址和mod_rewrite背后的基本概念。

我目前正在制作相当简单的php方式。喜欢这个

a)在表格中创建一个字段,其名称与文本(或我想要在网址中的标题)相同,以( - )分隔。

b)制作具有相同字段值的超链接,如(a href =“my-page-name”)

c)并且当通过查询字符串检查数据库中的值并且是否匹配时,获取该行的id并执行其他操作...

到目前为止它正在运作..但我很困惑。

这是正确的方式吗?或者它可以通过.htaccess来控制,因为我在所有需要漂亮URL的页面中做同样的事情。

请有人指导我..

感谢阅读;)

1 个答案:

答案 0 :(得分:0)

实现由您决定,.htaccess将包含与所请求的URL的一部分匹配的规则并将其传递给您的脚本,然后由您自己做所需的操作,通常在使用url重写id时保留,但他们添加标题的“干净”版本,如:

.htaccess将匹配id(1)和干净标题(my-first-post),并将它们传递到您的页面,而该页面又应该获取参数获取具有该ID的页面并显示它。这种方式使用页面可以利用漂亮的URL而不会丢失快速ID查找。


注意:

  • 使用上述示例时,建议您检查给定的clean-title是否与您拥有的相同(可以在posts表的字段中缓存),如果不同,则应重定向用户到具有真实标题的页面。示例:http://example.com/blog/1-wrong-title会重定向到http://example.com/blog/1-my-first-post
  • 这只是一个建议的实现,如果你想要你可以忽略url中的id,并依赖于缓存的clean-title表字段来查找文章,你当然应该考虑对该字段进行唯一索引对于快速查找,该方法的一个例子是维基百科(Mediawiki)。