我目前有我的WordPress的博客(Apache2,Ubuntu的Linux)在例如mysite.com托pipe使用基于ID的链接,例如http://mysite.com/?p=547 。 我有两个目标:
mysite.com/blog /{post-title}而不是/?p={post-id} 移动到新的结构应该很简单 ,就像改变WordPress的设置使用新的永久链接结构一样。
我也想做的是不打破目前链接到我的random(1..100)网站 。 我想使用HTTP 301永久redirect,但我不知道如何通过更改Apache的设置来做到这一点。
第一个问题将是处理redirect到/blog/所有请求。
第二个问题将是处理新的链接结构。 我想我可以很容易地查询MySQL数据库,并生成类似于?p={post-id} > {post-title} ,但我不知道什么语法应该看起来像什么,我需要把它放在哪里。
任何帮助将非常感激。
当你将URLscheme从p = 123更改为post-title时,wordpress会自动将301个访问者从旧的IDurl中更改为正确的URL – 这样就可以完成整理。
接下来,因为你的东西是通过?p = [0-100]达到的,那么你可以很容易地通过PHP来处理这个问题。 我看到有两种解决scheme – 一种比另一种更加优雅。
根据GET中的pageid编写一些查看Wordpress数据库的代码,并相应地对用户进行编写。
做1到1 301redirect,类似
<?php if(isset($_GET['p']) && is_numeric($_GET['p'])) { header("HTTP/1.1 301 Moved Permanently"); header("Location: http://www.mydomain.tld/blog/?p=".$_GET['p']); } ?>
上面的代码是未经testing的,但应该说明这个想法。 上面的代码在很多情况下会导致2 301的 – 但是就search引擎而言,它只应该通过301两次发送它们并更新它们的URL。
书签 – 你不能做太多的事情。