不存在的子页面URL重定向到图像附件URL,而不是抛出404

时间:2019-01-24 作者:rolzan

输入不存在的子页面将重定向到图像附件页面,特别是具有相同slug的图像附件。

比如,输入example.com/cars/volvo-car/ 将重定向到带有URL的图像附件页example.com/volvo-car/.

这个volvo-car 图像附件的permalink反映了最初上传时的图像名称,但即使在我将附件的slug更改为类似的内容之后volvo-car-image 不存在的子页面仍然重定向到它,而不是触发404错误页面。

我在数据库中找不到任何可能导致重定向的条目。我还尝试了不同服务器上的不同网站,但仍然得到相同的行为。

如何修复或阻止WordPress这样做?

我发现的另一件事是,在这种情况发生之前,父页面不必存在。只要将图像附件URL的slug添加到父slug之后,它仍然会重定向到附件页面,如下所示example.com/fasdfwefa/image-slug.

1 个回复
SO网友:Panchev

如果我理解正确,您希望禁用所有附件页并将其重定向到404页。将此代码放入函数中。php并重试。

 add_action( \'template_redirect\', \'redirect_media_to_404\' );
 function redirect_media_to_404() {
    if ( is_attachment() ) {
       global $wp_query;
       $wp_query->set_404();
       status_header( 404 );
       get_template_part( 404 ); 
       exit();
    }
 }

相关推荐

Get term by slug in Gutenberg

在古腾堡,可以使用getEntityRecord 通过术语id获取特定分类法术语数据的选择器:// Get the category term with term id = 25 const term = useSelect( ( select ) => select(\'core\').getEntityRecord( \'taxonomy\', \'category\', 25 ) ); 我的问题是,有没有办法通过使用术语slug而不是术语id来获取特定