WordPress永久链接系统如何工作?

san*_*ani 5 url wordpress blogs permalinks content-management-system

我是一名php开发人员,目前正在开发CMS /博客系统.我想添加像WordPress这样的固定链接系统.我很好奇WordPress如何解析永久链接.例如,如何获取idpost name来自的数据:

example.com/id/123/post/example/
Run Code Online (Sandbox Code Playgroud)

总之,我希望有一个系统,以获得idpost name从URL.我想让用户使用以下标签更改像WordPress这样的永久链接结构:

id/%postid%/post/%postname%/
Run Code Online (Sandbox Code Playgroud)

如何在变量中获取数据$id以及$post_name123example?请帮我.提前致谢.

pp1*_*9dd 8

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

例如,如果你想替换像:?reactor=13into/reactor/13/

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

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

现在,如果不是index.php而是拉起/ reactor/13 /,你的index.php文件应该在$ _GET中看到:

Array
(
    [id] => 13
)
Run Code Online (Sandbox Code Playgroud)

现在,对于您的HTML代码,由您自己制作网址并遵循您的思维结构.

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

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

  • WP实际上太复杂或抽象,指向一个地方.您可以通过查看https://github.com/WordPress/WordPress/search?q=permalink_structure&source=cc看到这一点. (2认同)

pbe*_*eck -2

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

我建议首先阅读有关该主题的教程。像往常一样,Google 是您的朋友