这有风险。htaccess方法。他必须制定专门的规则,只针对帖子。并非服务器上的所有URL。
这是另一种方法。在Wordpress中工作,“有点”安全,但性能有点吃力,因为它需要在启动之前加载插件。理论很简单。重定向任何不包含的URL。在最后一段中,如/uri 或/uri/ 到/uri.html ... ONLY IF WordPress signals a is_404() error.
将此插件放在wp-content/mu-plugins/redirector中。php。
// Only here we have a valid is_404() to check if occurs.
add_action(\'wp\', function(){
if(!is_404()) return; // Bail if not a 404 (WordPress has got your back)
// Extract the URI and the Query-String (which is used later again)
list($uri, $qs) = explode(\'?\', $_SERVER[\'REQUEST_URI\']);
// Bail if current URL contains a . in the last segment of the URI
if(!preg_match(\'~/[^/\\.]+/?$~\', $uri)) return;
// Right-trim the last ./ and append the .html to it
$uri = rtrim($uri, \'/.\').".html".(!empty($qs) ? "?{$qs}" : null);
// Redirect to the new URL (with a 301 to keep link juice flowing) and hope it works :)
wp_redirect($uri, 301); die; // Over and out!
});
I\'d rather go for a .htaccess redirect anytime 但这要视情况而定。如果你真的通过改变permalink structure LIVE把你的博客弄得一团糟(这在实现某些流量/排名时是绝对不应该做的),这是一种更安全的方法,因为它只在
is_404()发生。如果您在类别等方面有问题,请对其进行微调。
Warning: PHP 5.3+使用的闭包。考虑恢复到PHP 5.2语法和兼容性。。。分配:)