WordPress的“搜索引擎友好”的网址(固定链接)的执行
问题描述:
我很高兴在Wordpress源代码峰值;我想知道他们如何管理自定义网址功能,但我无法真正了解它。WordPress的“搜索引擎友好”的网址(固定链接)的执行
wordpress .htaccess文件中的重写规则只是将所有请求重定向到index.php。
之后,这是一个神秘的对我说:他们是如何让example.com/this/title/is/cool/
比赛index.php?p=233 ?
答
一旦它重定向到index.php,该文件可以看看$_SERVER['REQUEST_URI']
,以确定哪些是在this/title/is/cool
部分,然后去因为REQUEST_URI列出完整的URI字符串,即使重定向到的实际页面url只是它的第一部分,也要查找要从数据库提供哪个页面。
例如,
http://www.example.com/foo/bar/
被改写为
http://www.example.com/index.php/foo/bar/
这实际上将导致http://www.example.com/index.php被加载,但$_SERVER['REQUEST_URI']
将在它的全/index.php/foo/bar/
。
一些应用程序使用不同的方法,他们利用.htaccess
只取尾随“目录”,并把它们放到查询字符串,从而使重写变得像这样:
http://www.example.com/index.php?path=/foo/bar/
在这种情况下,提供的路径有_GET['path']
。
谢谢!我想它可能是这样的东西,但否认它,因为我认为没有人可以在任何地方都可以使用某些服务器变量。 $ _SERVER ['REQUEST_URI']实际上是一个可靠的变量,它存在于所有设置中? – pixeline 2009-08-11 19:22:27
'$ _SERVER ['REQUEST_URI']'不包含完整的URI,只包含URI路径和查询。 – Gumbo 2009-08-11 20:09:42
非常感谢Gumbo。编辑。 – Amber 2009-08-11 22:20:43