我在WordPress多站点上设置了一个帖子为private,所以用户应该被重定向到404页面。这篇文章的永久链接是http://local.website.com/en/event
.
现在WordPress似乎将请求重定向到event
到event-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
是否有一个钩子可以用来禁用这种重定向?
最合适的回答,由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;
}