更新, 直接Edit Permalink的Custom-Permalinks 插件

很多人一定都使用了Custom-Permalinks这个WordPress插件. 它可以自定义你的博客URL.
但是有个比较别扭的地方, 就是在Post中,Custom Permalink的制定是放在表单最下面的, 使用起来很不方便.
我经常一不小心就想要点击Title下面的Change permalinks, 而实际上这个链接是指向系统设置页面的.

我修改了一下这个插件, 现在使得Post中修改Permalink就像在Page页面中一样, 直接Edit就可以(替换了原来的’Change Permalinks’按钮).

 

DIY的Custom-Permalinks插件

 

点击下载更新后的custom-permalinks插件

使用404.php重写wordpress的URL, 导致分页URL出错的终极解决方案

如题, 当使用404.php重写URL的时候, 会导致文章分页的URL混乱.

网上盛传的解决方法是修改wp-setting.php文件.

但是存在一个问题, wordpress版本更新很快, 每次更新版本后, wp-setting.php文件都会自动更新, 从而导致修改被覆盖.

而且每次修改wp-setting.php很麻烦, 另外, 修改后发现中文slug的文章category页面显示不正常了.

最后反复研究url的问题, 得出终极解决方案: 只需要更新你的404.php, 一劳永逸, 而且中文url打不开的问题也一并解决了!!!

不多废话, 贴出代码:

< ?php
$qs = $_SERVER['QUERY_STRING'];
 
$qsu = mb_convert_encoding("$qs","UTF-8","UTF-8");
 
$_SERVER['REQUEST_URI'] = substr($qsu, strpos($qsu, ':80')+3);
 
if(strpos($_SERVER['REQUEST_URI'],'?')>0)
{
	$_SERVER['SCRIPT_NAME'] = $_SERVER['ORIG_PATH_INFO'] = substr($_SERVER['REQUEST_URI'], 0, strpos($_SERVER['REQUEST_URI'], '?'));
	$_SERVER['QUERY_STRING'] = substr($_SERVER['REQUEST_URI'], strpos($_SERVER['REQUEST_URI'], '?') + 1);
}
else
{
	$_SERVER['SCRIPT_NAME'] = $_SERVER['ORIG_PATH_INFO'] = $_SERVER['REQUEST_URI'];
	$_SERVER['QUERY_STRING'] = '';
}
 
include("index.php");
?>