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.
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
:Keadaansebelumnya mengandungi pemetaan satu sama satu YYYY kepada MMDD.
CondPattern$1
ialah tahun 4 digit yang ditangkap daripadaRewriteRule
pattern是从
RewriteRule
pattern捕获的 4 位数字年份,然后CondPattern从 TestString,它是使用生成的替换字符串中的%1
dan kemudiandaripada TestString
yang dijana menggunakan %1 diambil dengan rujukan belakang.
Riwayat:
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
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: