2009-10-14 89 views
2

我一直使用mod_rewrite来创建看起来干净的URL,直到最近我还不知道还有其他选项。几个星期后,有人在这里指出,使用apache PATH_INFO可以达到完全相同的效果。现在考虑它,我认为这是大多数PHP框架所做的,可以选择依赖mod_rewrite来纯粹地从URL中删除index.php引导程序。mod_rewrite或干净URL的路径信息

所有导致几个问题:

  1. 这是创造一个清洁,灵活的URL结构类似的更好的办法: /page/var/foo/bar/2
  2. 这两种方法的相对优点和缺点是什么?
  3. 哪种方法在资源使用等方面表现更好?

谢谢。

回答

0

with pathinfo您将始终在url中包含脚本名称,该脚本名称看起来很蹩脚(并且不被某些代理认为是有效的)。我建议使用mod_rewrite作为主要方法,使用pathinfo或404处理程序作为后备。

+1

很确定我已经看到了URL中没有脚本名称的path_info例子,任何人都可以确认吗? – robjmills 2009-10-14 12:53:43

+2

我想说这是不可能的,但我以前错了。但是,使用'mod_rewrite'来简单地将所有请求重定向到一个脚本并在该脚本中使用'path_info'是非常可能的,而且我的理解非常普遍。 – 2009-10-14 14:32:27