WordPress-您可以在页面上使用斜线但在帖子中不使用斜线吗?

问题描述

一个朋友希望他的WordPress网站具有:

认情况下,wordpress将在页面和帖子后添加斜杠。 将自定义永久链接结构设置为 /%postname%.html 会将扩展名添加博客帖子中,但是当然会删除页面末尾的斜杠。

我可以使用add_permastruct重写产品后的类型

function rr_permastruct_html( $post_type,$args ) {
    // Works fine!
    if ( $post_type === 'product' )
        add_permastruct( $post_type,"{$args->rewrite['slug']}/%$post_type%.html",$args->rewrite );
    
    // Worth a shot,but no...   
    //if ( $post_type === 'page' )
    //    add_permastruct( $post_type,"{$args->rewrite['slug']}/%$post_type%/",$args->rewrite );
}

但是,在添加带有.html扩展名的帖子时,仍然有页面保持斜线结尾时,我总是碰壁。

我无法使用.htaccess使其工作,因为它会同时影响两者。一段时间后,我对$ wp_rewrite的尝试无济于事:

function rr_rewrite_page_permalink() {
    global $wp_rewrite;
    if (!strpos($wp_rewrite->get_page_permastruct(),'.html')) {
        $wp_rewrite->page_structure = $wp_rewrite->page_structure . '.html';
        $wp_rewrite->set_permalink_structure( $wp_rewrite->page_structure );
    }
    $wp_rewrite->flush_rules();
}
add_action('init','rr_rewrite_page_permalink',-1);

Permalink插件在没有解决方案的情况下会产生相同的行为。因此,甚至可能有带有.html扩展名的帖子并且页面都保留斜线吗?

谢谢

解决方法

文件名不应以斜杠结尾。

如果在文件名上强制使用斜杠,则将导致浏览器认为它是文件夹,并导致404错误消息。 Should You Have a Trailing Slash at the End of URLs?

别忘了

如果您的网页可以使用斜杠或不使用斜杠进行访问,则可能导致重复内容和抓取效率方面的问题。

详细了解Permalink for specific page name - WordPress Development Stack Exchange