禁用“类似固定链接”重定向

时间:2018-11-27 作者:zyrup

我在WordPress多站点上设置了一个帖子为private,所以用户应该被重定向到404页面。这篇文章的永久链接是http://local.website.com/en/event.

现在WordPress似乎将请求重定向到eventevent-30-01-2016. WordPress似乎关注的是event 一串示例:它将优先考虑event-29-05-2015 结束event-30-05-2015.

我想保留如下帖子的URLevent-* 但我想event 重定向到404,因为我禁用了页面。

我的设置打开/wp-admin/options-permalink.php 设置为Post name.

我没有任何特殊的重写规则.htaccess 对于事件。

这是我的.htaccess:

# BEGIN WordPress
RewriteEngine on
RewriteBase /
RewriteRule ^index\\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\\.php)$ $2 [L]
RewriteRule . index.php [L]
# END WordPress
是否有一个钩子可以用来禁用这种重定向?

1 个回复
最合适的回答,由SO网友:Nikolay 整理而成

要完全禁用此功能,请使用以下代码here.

remove_action( \'template_redirect\', \'redirect_canonical\' );
要仅对包含字符串“event”的URL地址禁用它,请使用以下代码:

add_filter( \'redirect_canonical\', \'disable_redirect_canonical_for_event\', 2, 10 );

function disable_redirect_canonical_for_event( $redirect_url, $requested_url ) {
    if ( strpos( $requested_url, \'event\' ) !== false ) {
        return false;
    }
    return $redirect_url;
}

结束

相关推荐

Plain permalinks not working!

对于我的wordpress网站,普通永久链接不起作用。帖子url正在更改,但当我们单击帖子时,它不会重定向到帖子页面。它将出现在主页上。例如:http://example.com/?p=14523 如果我将永久链接更改为其他自定义格式,它将正常工作并显示帖子页面。例如:http://example.com/2018/09/01/postname/ 我尝试创建一个新的.htaccess 将永久链接更改为普通后的文件。仍然不工作。