cari

Rumah  >  Soal Jawab  >  teks badan

Halaman WordPress menunjukkan 404 apabila menambah URL

Saya menambah peraturan tulis semula pada skrip PHP yang disertakan dalam halaman WordPress dengan pautan kekal kb

Dengan cara ini saya boleh melawati domain.com/kb dan memaparkan halaman tersebut.

function wdm_add_rewrite_rules() {
    add_rewrite_rule( '^kb/([^/]+)/?$', 'kb?kb_cat=$matches[1]&kb_seq=1', 'top');
}
add_action('init', 'wdm_add_rewrite_rules');

Tetapi apabila saya melawat halaman yang mengandungi rentetan lain dalam URL, saya mendapat 404.

Jadi apabila saya melawat domain.com/kb ia menunjukkan halaman yang betul, kemudian apabila saya melawat domain.com/kb/84/92 ia menunjukkan 404

Saya hanya perlu dapat membaca parameter url tambahan dalam skrip PHP seperti $_GET["kb_cat"]

P粉569205478P粉569205478346 hari yang lalu544

membalas semua(2)saya akan balas

  • P粉949190972

    P粉9491909722024-01-17 11:01:28

    Cuba ini:

    function wdm_add_rewrite_rules() {
        add_rewrite_rule( '^kb\/([^\/]+)\/?([^\/]+)$', 'kb?kb_cat=$matches[1]&kb_seq=1', 'top');
    }
    add_action('init', 'wdm_add_rewrite_rules');

    Anda boleh menyemak ungkapan biasa untuk pertandingan di https://regex101.com/ atau mana-mana tapak web dalam talian lain yang serupa

    balas
    0
  • P粉105971514

    P粉1059715142024-01-17 00:28:54

    function wdm_add_rewrite_rules() {
        add_rewrite_rule( '^kb$', 'index.php?kb_cat=$matches[1]&kb_seq=1', 'top');
    }
    add_action('init', 'wdm_add_rewrite_rules');

    Maju selangkah lebih jauh dan gunakan parameter:

    function add_query_vars_filter( $vars ){
        $vars[] = "kb_cat";
        $vars[] = "kb_seq";
        return $vars;
    }
    add_filter( 'query_vars', 'add_query_vars_filter' );

    Kemudian muatkan fail templat tersuai:

    function include_custom_template($template){
    
        if(get_query_var('kb_cat') && get_query_var('kb_seq')){
            $template = get_template_directory() ."/my-custom-template.php";
        } 
       
        return $template;    
    }
    
    add_filter('template_include', 'include_custom_template');

    Setelah ditambahkan pada functions.php, pergi ke Tetapan > Pautan kekal dan klik "Simpan Perubahan" untuk menetapkan semula peraturan muat semula

    balas
    0
  • Batalbalas