是否可以仅为主页停止此重定向?
这是我的.htaccess文件:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$- [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
解决方法:
重定向发生在redirect_canonical函数中.在重定向发生之前,有一个过滤器应用于重定向URL:
$redirect_url = apply_filters( 'redirect_canonical', $redirect_url, $requested_url );
如果您挂钩到该过滤器,您应该能够禁用重定向.
add_filter('redirect_canonical', function($redirect_url, $requested_url) {
if($requested_url == home_url('index.php')) {
return '';
}
}, 10, 2);
我通过将上面的过滤器添加到我的主题的functions.php文件中来验证这是有效的.请注意,必须在重定向操作触发之前附加此过滤器,因此将过滤器放在模板文件中将不起作用.
标签:wordpress,php,htaccess,http-status-code-301,url-redirection
来源: https://codeday.me/bug/20190628/1317798.html