因为不想在用类似www.daozhao.com/82.html一样的固定链接了,感觉用别名对网站的SEO更好点,再加上用别名了我们可以通过url初步判断文章的内容,于是我站改成用别名了,原www.daozhao.com/82.html更改成https://www.daozhao.com/php-link-access-database.html。
通过参考了Cppliv 编程在线巧用404页面重定向WordPress固定链接一文,对当前目录下的functions.php做如下更改:
[code lang="php"]
<?php
/*固定链接跳转*/
function frontWithIDPageURL()
{
$pageURL = 'http://';

$this_page = $_SERVER["REQUEST_URI"];

// 只取 .html 前面的内容
if (strpos($this_page, ".html") !== false) {
$this_page = reset(explode(".html", $this_page));
$this_page =str_replace(array("/"),"",$this_page);//删除/,获取网址传递的文章ID
$post=get_post($this_page);
$slug=$post->post_name;//根据文章ID获取其别名
$pageURL .= $_SERVER["SERVER_NAME"] . '/' .$slug . '.html';
}
else
$pageURL .= $_SERVER["SERVER_NAME"];

return $pageURL; //得到类似www.daozhao.com/别名.html的网址
}
?>
[/code]
删除当前主题的404页面的所有代码,将其修改为
[code lang="php"]<?php get_header(); ?>
<div id="content">
<div id="postlist">
<div class="post-home">
<div class="post-title"><h1>您迷路啦!!!</h1></div>
<div class="post-content">
<p>您访问的内容已经转移到<a href="<?php echo frontWithIDPageURL() ?>"><?php echo frontWithIDPageURL() ?></a></p>
<p>您可以可以<a href="<?php echo frontWithIDPageURL() ?>">猛击这里</a>进行访问。</p></div>
</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>[/code]
如果不想出现此提示,想直接实现跳转,可以将其修改如下:
[code lang="php"]
<?php redirect(frontWithIDPageURL()); ?>[/code]
或者
[code lang="php"]
<script>
location="<?php echo frontWithIDPageURL() ?>";
</script> [/code]

分类: WordPress

发表评论

电子邮件地址不会被公开。 必填项已用*标注