【问题标题】:How to bypass WordPress redirect_canonical for a certain URL如何绕过某个 URL 的 WordPress redirect_canonical
【发布时间】:2023-03-19 07:10:01
【问题描述】:

我有一个 WordPress 站点,我在 WordPress 安装文件夹中创建了一个名为 en 的文件夹。所以假设如果我的站点 URL 是加载我的 WordPress 站点的 example.com,访问者应该可以通过访问 example.com/en/ URL 访问 en 文件夹的内容。

但不幸的是,WordPress 将访问者重定向到带有类似example.com/environmental-advertising/ 的 URL 的页面,这是一篇博客文章。 As I understood,WordPress 的 redirect_canonical 导致了这个重定向。

那么我怎样才能防止针对特定 URL 的这种类型的重定向,例如 example.com/en/

*UPD #1:en 文件夹是另一个 WordPress 安装

【问题讨论】:

    标签: wordpress .htaccess redirect


    【解决方案1】:

    您可以使用redirect_canonical 告诉函数在尝试查找页面时不要使用此网址。代码如下:

    add_filter( 'redirect_canonical', 'custom_redirect_canonical', 10, 2 );
    function custom_redirect_canonical( $redirect_url, $requested_url ) {
        if( $requested_url == 'http://example.com/en' ) {
            return $requested_url;
        }
    
        return $redirect_url;
    }
    

    请注意以下几点:

    1. 我不推荐使用这样的功能。如果您将文件夹名称更改为 redirect_canonical 将跳过的名称会更好。
    2. 以上代码使用硬编码的 url,这也不是最佳实践。

    【讨论】:

    • 代码无效。仍然重定向到那篇文章。如果en 文件夹是另一个 WordPress 安装,这有什么不同吗?
    • 我不这么认为。可以提供你的真实网址吗?另外请确保代码放在functions.php
    • 是的,将代码放在主题的function.php 中,并将示例 URL 更改为位于 localhost 中的真实 URL。
    • 好的,en 文件夹放在 WordPress 根目录下 wp-content、wp-admin 等在哪里?我问是因为它在我的本地主机上工作得很好
    • 将其视为另一个文件夹中的 WordPress 安装文件夹。喜欢wordpress/wordpress/
    猜你喜欢
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-04
    • 2011-12-20
    相关资源
    最近更新 更多