Wordpress'sitename.com/post-name类型永久链接背后的秘诀是什么

时间:2013-01-21 13:46:14

标签: php wordpress

Wordpress中,虽然不存在名称为sitename.com/post-title的目录,但可以使用post-name等网址。

我想index.php(或可能是404 page)必须处理此类请求。

任何人都请解释这背后的确切伎俩...

3 个答案:

答案 0 :(得分:4)

this page中了解Mod Rewrite基础知识。它是一个Apache模块,允许您解析请求内容并将其重定向到“真实”页面而不更改浏览器地址。

假设你有这个:

 RewriteRule ^post/([0-9]+)?/?([0-9]+)?/?$ /index.php?p=$1&page=$2 [QSA]

使用这样的重写规则,请求地址如下:

www.mysite.com/post/10/2

将被重定向到:

www.mysite.com/index.php?p=10&page=2

从美学Search Engine Optimization两个角度来看,这是更好的。

具体来说,在WordPress中,每个请求都被重定向到index.php页面,该页面包含根据解析结果加载内容的请求的内部“解析器”。

नमस्ते!

答案 1 :(得分:2)

  

我猜index.php必须处理这种类型   请求。

完全。

他们通过.htaccess规则将所有请求重定向到index.php。如果您正考虑在自己的应用程序中采用他们的解决方案 - 请不要。今天有更好的实现这种技术。 Here就是一个例子。

答案 2 :(得分:1)

工作原理:

mod_rewrite接收与某个参数匹配的请求,并可以将它们重定向到其他位置。在wordpress的情况下,所有响应(*)都被接受并传送到index.php页面,该页面有一个标准路由器,它拆分url即$ _SERVER [“REQUEST_URI”]并将其与存储的url配置相匹配并加载正确的组件(类别,职位,页面等)