我是一名 php 开发人员,目前正在开发一个 CMS/博客系统。我想添加一个永久链接系统,比如 WordPress。我很好奇 WordPress 如何解析永久链接。例如,如何获取 id
这样的数据和 post name
从:
example.com/id/123/post/example/
简而言之,我想要一个系统得到
id
和 post name
从网址。我想让用户使用以下标签更改永久链接结构,如 WordPress:id/%postid%/post/%postname%/
如何获取
$id
等变量中的数据和 $post_name
其中值将 123
和 example
?请帮我。提前致谢。
最佳答案
常用的apache模块 mod_rewrite 可以帮助你解决这个问题。您所做的是在 .htaccess 文件中编写重写规则,并通过重写,通常类似于文件系统的精美结构作为 $_GET 参数发送到 PHP 文件。
例如,如果您想替换如下内容:?reactor=13
进入 /reactor/13/
在 .htaccess 文件中写入此重写规则:
RewriteEngine on
RewriteRule reactor/([0-9]+)/$ index.php?id=$1
现在,如果你打开/reactor/13/而不是 index.php,你的 index.php 文件应该在 $_GET 中看到:
Array
(
[id] => 13
)
现在,对于您的 HTML 代码,由您来制作 URL 并遵守您深思熟虑的结构。
这些重写规则可能会令人困惑,但它们遵循逻辑正则表达式模式。
与插入这些编辑 .htaccess 文件相比,WordPress 采取了一种更强大的方法,它们将所有内容发送到 WP,然后 WP 通过内部规则解决/路由其余部分。
关于wordpress - WordPress 永久链接系统如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11314358/