我控制分页WordPress的内容和重定向的URL编号其父URL的功能。
该功能可以正常使用,但我想的是,为编号的网址没有最后结尾的斜线,火灾301重定向直接到结尾的斜线网址。 例如:
https://www.example.com/how-to-do-something/1111
应立即重定向到
https://www.example.com/how-to-do-something/
目前,而不是重定向301是工作,但通过对https://www.example.com/how-to-do-something
再到https://www.example.com/how-to-do-something/
。
但是, 与此同时 ,这种检查不应该用失效最后结尾的斜线编号的URL,这已经很好了,例如:
https://www.example.com/how-to-do-something/1111/
重定向完美的https://www.example.com/how-to-do-something/
在一杆。 因此,有什么也不做这些。
功能如下:
global $posts, $numpages;
$request_uri = $_SERVER['REQUEST_URI'];
$result = preg_match('%\/(\d)+(\/)?$%', $request_uri, $matches);
$ordinal = $result ? intval($matches[1]) : FALSE;
if(is_numeric($ordinal)) {
// a numbered page was requested: validate it
// look-ahead: initialises the global $numpages
setup_postdata($posts[0]); // yes, hack
$redirect_to = isset($ordinal) ? '/': (($ordinal > $numpages) ? "/$numpages/" : FALSE);
if(is_string($redirect_to)) {
// we got us a phantom
$redirect_url = get_option('home') . preg_replace('%'.$matches[0].'%', $redirect_to, $request_uri);
// redirect to it's parent 301
header($_SERVER['SERVER_PROTOCOL'] . ' 301 Moved Permanently');
header("Location: $redirect_url");
exit();
}
}
我如何能实现从非尾随斜线网址这个PHP检查直接斜线,而不调用,我必须强迫结尾的斜线htaccess的规则? 感谢您的耐心和时间。