Ubah hala menggunakan htaccess, gunakan slash, garis bawah atau tarikh sebagai url mesra pembatas
P粉717595985
P粉717595985 2023-09-11 12:11:18
0
1
404

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_ntddnampaknya menimbulkan masalah kepada saya dengan modul penulisan semula dihidupkan.

P粉717595985
P粉717595985

membalas semua (1)
P粉180844619

Oleh kerana bahagian0204(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 dalamRewriteMap- 然后可以在.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]

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

CondPattern
daripada TestString

yang dijana menggunakan %1 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 isupendua kandungan. 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.
    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!