何先生最近把网站的链接改了格式,从之前的 /$postname$.html
改为了 /hexsen_$post_id$.html
,这样改的目的一是为了 url 链接更简短更好看,当然最主要的还是每次编辑文章不想再给 url 起名了,头大。
改网站链接倒是简单,最麻烦的是改了之后要进行 301 跳转,还要提交到百度改版,否则有收录的文章会受影响。
但是 $postname$
改为 $post_id$
是无法用规范的正则表达式描述的 ,性质不同。没办法,只能通过 PHP + 数据库查询来获取已发布文章的旧链接和新链接,获取之后再提交到百度的 新旧 URL 对 进行改版。
获取新旧 url 链接代码
<?php
include ( "wp-config.php" ) ;
require_once (ABSPATH.'wp-blog-header.php');
global $wpdb;
$yuming = "https://www.hexsen.com/";//网站域名
$houzui = ".html";//文章后缀
$sql="SELECT * FROM wp_posts WHERE post_type = 'post' AND post_status = 'publish' ORDER BY ID DESC ";
$myrows = $wpdb->get_results($sql);
foreach ($myrows as $b) {
echo $yuming;
echo $b->post_name; // 获取数据库 post_name 字段,也就是文章旧链接
echo $houzui."<br/>";
echo $yuming;
echo 'hexsen-'.$b->ID; // 获取数据库 ID 字段,文章新链接
echo $houzui."<br/>";
}
?>
代码用法
- 在网站根目录创建一个名叫
get_url.php
的 PHP 文件。 - 复制代码并粘贴进
get_url.php
文件保存。 - 访问
https://www.hexsen.com/get_url.php
就得到了我们想要的链接。 - 用完之后记得删除文件。
以上代码获取后的链接格式如下:
旧链接格式:https://www.hexsen.com/old-url.html
// 此链接中 old-url 每次都要自己手动起
新链接格式:https://www.hexsen.com/hexsen_54.html
// 而新链接中的 54 则是自动获取的文章 id,再也不用烦恼了。
算了,最后还是换回 $postname$ 格式。尴尬
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容