我看到我可以在wp-admin页面>设置>永久链接中编辑永久链接信息。但是,该信息实际上存储在数据库中的什么位置?

#1 楼

wp_options表中有一条记录,其中option_name = "permalink_structure"

但是,URL重写的真正最终控制是由WP_Rewrite API控制的,该API将信息保存/缓存在rewrite_rules wordpress选项中(也可以在wp_options表)。

编辑:

此外,在编辑页面/帖子时,您可以更改该页面/帖子的“永久链接”(在下面的更改位置)标题)。所有要做的只是在post_name表中为该页面/帖子的条目设置wp_posts字段(也就是在更改该页面的“子弹”)。

对于所有页面,似乎默认重写规则如下:

[(.?.+?)/page/?([0-9]{1,})/?$] => index.php?pagename=$matches[1]&paged=$matches[2]
[(.?.+?)/comment-page-([0-9]{1,})/?$] => index.php?pagename=$matches[1]&cpage=$matches[2]
[(.?.+?)(/[0-9]+)?/?$] => index.php?pagename=$matches[1]&page=$matches[2]


该列表是由我运行此php代码获得的:echo nl2br('rules = '.print_r( $wp_rewrite->rules, true) . "\n");

似乎没有任何内置函数由于永久链接结构仅适用于帖子,因此是一种用于编辑页面路由的方法。

编辑:

更多随机信息我发现:如果您的永久链接结构是一个空字符串(其中是您可以选择的“默认”选项),然后wordpress会完全跳过所有重写-我真的不确定为什么会这样,但是确实如此。

#2 楼

实际信息-例如页面或帖子的“子句”存储在wp_posts中的post_name列下。通常,这是post_title的精简版本,但可以逐页覆盖。

根据您在“设置”->“固定链接”中选择的设置来解构完整的永久链接,但是实际的在wp_posts中的post_name中。

#3 楼

永久链接信息存储在wp_options中。

表名称:-$ wpdb->前缀'options'

,在选项表中搜索选项名称,例如'permalink_structure'。

在表的该行中,您可以查看永久链接结构。