当使用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");
?>