WordPress永久链接系统如何工作



我是一名php开发人员,目前正在开发CMS/博客系统。 我想添加一个像WordPress这样的永久链接系统。 我很好奇WordPress如何解析永久链接。例如,如何从以下位置获取idpost name等数据:

example.com/id/123/post/example/

简而言之,我希望系统从 url 获取idpost name。我想让用户能够使用以下标签更改永久链接结构,如WordPress:

id/%postid%/post/%postname%/

如何在变量(如 $id$post_name)中获取数据,值将123example?请帮助我。提前谢谢。

常用的 apache 模块mod_rewrite可以帮助您解决这个问题。 你所做的是在.htaccess文件中编写重写规则,通过重写,通常类似于文件系统的花哨结构被发送到PHP文件作为$_GET参数。

例如,如果要将以下内容替换为:?reactor=13 /reactor/13/

在 .htaccess 文件中编写此重写规则:

RewriteEngine on
RewriteRule reactor/([0-9]+)/$ index.php?id=$1

现在,如果你拉出/reactor/13/而不是索引.php你的 index.php 文件应该在 $_GET 中看到以下内容:

Array
(
    [id] => 13
)

现在,对于您的 HTML 代码,由您来制作 URL 并遵守您深思熟虑的结构。

这些重写规则可能会令人困惑,但它们遵循逻辑正则表达式模式。

WordPress 采用比插入这些编辑 .htaccess 文件更强的方法,他们将所有内容发送到 WP,然后 WP 通过内部规则解决/路由其余部分。

这取决于您使用的服务器软件,但是如果您计划在Apache上使用脚本,则通常涉及使用称为mod_rewrite的东西,特别是.htaccess文件。

我建议从阅读有关此主题的教程开始。像往常一样,谷歌是你的朋友。

最新更新