在Wordpress
中,虽然不存在名称为sitename.com/post-title
的目录,但可以使用post-name
等网址。
我想index.php
(或可能是404 page
)必须处理此类请求。
任何人都请解释这背后的确切伎俩...
答案 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配置相匹配并加载正确的组件(类别,职位,页面等)