我希望我的 WordPress 博客的域名是example.com而不是www.example.com(连同网页中的链接)。但是WordPress可以通过. _ 虽然可以通过放入主题的 php 文件来完全禁用此功能,但我认为该功能中还有许多其他有用的重定向,因此我只想禁用从example.com到www.example.com的重定向。目前这不能仅通过服务器的 URL 重写配置来完成,因为它会导致无限重定向循环。我还检查了源代码,找到了以下可能相关的片段:redirect_canonical
remove_filter('template_redirect' 'redirect_canonical')
// www.example.com vs example.com
$user_home = @parse_url(home_url());
if ( !empty($user_home['host']) )
$redirect['host'] = $user_home['host'];
if ( empty($user_home['path']) )
$user_home['path'] = '/';
和
// Ignore differences in host capitalization, as this can lead to infinite redirects
// Only redirect no-www <=> yes-www
if ( strtolower($original['host']) == strtolower($redirect['host']) ||
( strtolower($original['host']) != 'www.' . strtolower($redirect['host'])
&& 'www.' . strtolower($original['host']) != strtolower($redirect['host']) ) )
$redirect['host'] = $original['host'];
那么我是否必须更改源代码?无论哪种情况,我该怎么办?谢谢你。
更新:或更恰当地说,如何通过自定义template_redirect
处理程序执行此操作?