簡體   English   中英

WordPress - 您可以為頁面添加斜杠但沒有對帖子使用斜杠嗎?

[英]WordPress - Can you have Trailing Slashes for Pages but No Slashes for Posts?

一位朋友希望他的 WordPress 網站具有:

默認情況下,WordPress 將為頁面和帖子添加尾部斜杠。 將自定義永久鏈接結構設置為/%postname%.html會將擴展名添加到blog posts ,但當然會從頁面中刪除尾部斜杠。

我可以使用 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);

永久鏈接插件產生相同的行為而沒有解決方案。 那么,是否有可能發布帶有 .html 擴展名的帖子並讓頁面保留尾部斜杠?

謝謝

文件名不應以斜杠結尾。

如果您在文件名上強制使用尾部斜杠,則會導致瀏覽器認為它是一個文件夾並導致 404 錯誤消息。 你應該在 URL 末尾加一個斜杠嗎?

並且不要忘記

如果您的頁面可以使用或不使用尾部斜杠訪問,則可能會導致重復內容和抓取效率問題。

了解有關特定頁面名稱的永久鏈接的更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM