ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

停止WordPress从301重定向/index.php到/

2019-06-28 17:18:32  阅读:439  来源: 互联网

标签:wordpress php htaccess http-status-code-301 url-redirection


我需要能够浏览到http://www.example.com/index.php,但WordPress会自动301将其重定向到http://www.example.com/.

是否可以仅为主页停止此重定向?

这是我的.htaccess文件:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$- [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有