Rumah  >  Soal Jawab  >  teks badan

Ubah hala menggunakan htaccess, gunakan slash, garis bawah atau tarikh sebagai url mesra pembatas

Ini berfungsi dengan baik:

https://example.com/2023/not-the-dinner-day

Gunakan yang berikutRewiteRule

RewriteRule ^(\d{4})/not-the-dinner-day/?$ archive/reports//ntdd.php [NC,L]

Saya ingin mendapatkan URL baharu ini:

https://example.com/2023/not-the-dinner-day-photographs

Dari URL lama ini

https://example.com/archive/galleries/2023/20230204_ntdd/

Saya telah mencuba pelbagai kaedah antaranya:

RewriteEngine On
RewriteRule ^(\d{4})/not-the-dinner-day-photographs/?$ archive/galleries//_ntdd/ [NC,L]

Memadankan folder terakhir20230204_ntdd nampaknya menimbulkan masalah kepada saya dengan modul penulisan semula dihidupkan.

P粉717595985P粉717595985427 hari yang lalu488

membalas semua(1)saya akan balas

  • P粉180844619

    P粉1808446192023-09-12 00:18:54

    Oleh kerana bahagian 0204 (MMDD) tidak wujud dalam URL yang diminta, anda perlu mengeraskannya. Nasib baik, hanya terdapat satu MMDD dalam mana-mana tahun tertentu.

    Jika anda mempunyai akses kepada konfigurasi pelayan, anda boleh melaksanakan pemetaan satu dengan satu yang kelihatan dalam RewriteMap - 然后可以在 .htaccess.

    Jika tidak, anda boleh melakukan sesuatu seperti ini dalam .htaccess:

    RewriteCond -0202 2019-(\d{4}) [OR]
    RewriteCond -0201 2020-(\d{4}) [OR]
    RewriteCond -0206 2021-(\d{4}) [OR]
    RewriteCond -0205 2022-(\d{4}) [OR]
    RewriteCond -0204 2023-(\d{4})
    RewriteRule ^(\d{4})/not-the-dinner-day-photographs/?$ archive/galleries//%1_ntdd/index.php [NC,L]

    Keadaan sebelumnya mengandungi pemetaan satu sama satu YYYY kepada MMDD. $1 ialah tahun 4 digit yang ditangkap daripada RewriteRule pattern 是从 RewriteRule pattern 捕获的 4 位数字年份,然后 CondPattern 从 < em>TestString,它是使用生成的替换字符串中的 %1 dan kemudian

    CondPattern
    daripada < em>TestString

    yang dijana menggunakan < code>%1< /code> diambil dengan rujukan belakang.

    Riwayat:

    1. Walau bagaimanapun, terdapat beberapa isu SEO yang berpotensi dengan peraturan asal anda:

      Anda membenarkan garis miring pilihan pada URL yang diminta. Tetapi kedua-duanya akan mengembalikan sumber yang sama. Ini adalah dua URL yang berbeza dan boleh menimbulkan isu
    2. pendua kandungan
    3. . Jika ada kemungkinan untuk menerima dua URL pada masa yang sama (dengan atau tanpa garis miring di belakang), maka sebaiknya anda mengubah hala dari satu URL ke URL yang lain (tanpa mengira spesifikasi).


      Anda membenarkan padanan tidak sensitif huruf besar-besaran. Sekali lagi, ini boleh membawa kepada isu pendua kandungan< /a>. Jika anda mempunyai permintaan kes bercampur, maka anda harus menggunakan ubah hala luaran untuk menormalkan/membetulkan permintaan. Sila lihat di bawah:

    4. Cara menulis semula URL dari huruf besar ke huruf kecil dalam .htaccess
    Jika anda menukar struktur URL sedia ada (yang telah diindeks dan/atau dipautkan oleh pihak ketiga), maka anda perlu melaksanakan ubah hala 301 luaran dalam arahan lain, daripada lama kepada baharu, untuk melindungi SEO. 🎜 🎜 🎜

    balas
    0
  • Batalbalas