5

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

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

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

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

如何获取变量中的数据,例如值将在哪里$id和?请帮我。提前致谢。$post_name123example

4

2 回答 2

8

常用的 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 并遵守您深思熟虑的结构。

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

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

于 2012-07-03T15:50:10.593 回答
0

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

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

于 2012-07-03T15:48:40.937 回答