Pertanyaan Menambahkan komentar ke .htaccess


Mengapa ini berfungsi:

RewriteRule (.+)/$ $1

dan pekerjaan ini:

RewriteRule (.+)/$ $1 [L] #bla bla bla

tetapi ini tidak berhasil:

RewriteRule (.+)/$ $1 #bla bla bla

75
2018-02-28 22:14


asal


Jawaban:


Komentar dalam .htaccess harus ada pada mereka garis sendiri, tidak ditambahkan ke pernyataan lain.

Aturan terakhir tidak berfungsi karena komentar tidak benar-benar komentar. Komentar di htaccess harus dimulai dengan # (harus di awal baris), dan tidak sembarangan di mana saja.

Dalam kasus kedua, #bla bla bla ditafsirkan sebagai parameter ke-4 dari RewriteRule direktif, yang diabaikan begitu saja.

Dalam kasus terakhir, #bla bla bla ditafsirkan sebagai parameter ke - 3, yang dalam RewriteRuleKasus adalah di mana bendera pergi, dan #bla bla bla tidak ada bendera yang dipahami mod_rewrite sehingga Anda mendapatkan kesalahan.


124
2018-02-28 22:27



Format file konfigurasi Apache (yang mana .htaccess file adalah salah satu contoh) tidak mendukung komentar inline secara teknis, hanya komentar baris penuh (yaitu baris awal dengan #).

Baris yang dimulai dengan karakter hash "#" dianggap sebagai komentar, dan diabaikan. Komentar mungkin tidak termasuk pada baris setelah direktif konfigurasi. - Resmi Apache 2.4 manual

Namun, membingungkan, setiap modul harus mem-parsing input untuk arahannya, tetapi ia suka - jadi mod_rewrite memutuskan apa yang harus dilakukan dengan setiap baris yang dimulai dengan RewriteRule

Saya tidak tahu pasti tapi tebakan saya adalah itu mod_rewrite mengabaikan semuanya setelah [flags], dan # sebenarnya tidak diperlukan sama sekali.

Namun, taruhan terbaik adalah selalu memberi komentar pada baris mereka sendiri, karena itu akan bekerja apa pun yang direktif yang Anda komentari.


25
2018-02-28 22:27