我是一名php开发人员,目前正在开发CMS /博客系统。我想添加像WordPress这样的固定链接系统。我很好奇WordPress如何解析永久链接。例如,如何从{<1}}和id
获取数据:
post name
简而言之,我希望系统从网址获取example.com/id/123/post/example/
和id
。我想让用户使用以下标签更改像WordPress这样的永久链接结构:
post name
如何获取id/%postid%/post/%postname%/
和$id
等变量中的数据,其中值为$post_name
和123
?请帮我。
提前谢谢。
答案 0 :(得分:6)
常用的apache模块 mod_rewrite 可以帮助您解决这个问题。你所做的是在.htaccess文件中写入重写规则,通过重写,通常类似于文件系统的花哨结构将作为$ _GET参数发送到PHP文件。
例如,如果您想将?reactor=13
替换为/reactor/13/
将此重写规则写入.htaccess文件:
RewriteEngine on
RewriteRule reactor/([0-9]+)/$ index.php?id=$1
现在,如果不是index.php而是拉起/ reactor / 13 /,你的index.php文件应该在$ _GET中看到:
Array
(
[id] => 13
)
现在,对于您的HTML代码,您可以自行制作网址并遵循您的思维结构。
这些重写规则可能令人困惑,但它们遵循逻辑正则表达式模式。
WordPress比将这些编辑.htaccess文件插入到将所有内容发送到WP的位置采用更强大的方法,然后WP通过内部规则解决/路由其余内容。
答案 1 :(得分:0)
这取决于您使用的服务器软件,但如果您计划在Apache上使用脚本,通常需要使用名为mod_rewrite
的内容,特别是.htaccess
文件。
我建议首先阅读有关此主题的教程。 As usual, Google is your friend