Halaman WordPress menunjukkan 404 apabila menambah URL
P粉569205478
P粉569205478 2024-01-16 13:17:37
0
2
505

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粉569205478
P粉569205478

membalas semua(2)
P粉949190972

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

P粉105971514
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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!