Menambahkan komentar ke .htaccess

89

Mengapa ini berhasil:

RewriteRule (.+)/$ $1

dan pekerjaan ini:

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

tapi ini tidak berhasil:

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

Jawaban:

143

Komentar di .htaccess harus di barisnya sendiri , tidak ditambahkan ke pernyataan lain.

Aturan terakhir tidak berfungsi karena komentar sebenarnya bukan komentar. Komentar di htaccess harus dimulai dengan a #(harus di awal baris), dan tidak sembarangan di mana pun.

Dalam kasus kedua, #bla bla bladiartikan sebagai parameter ke-4 dari RewriteRuledirektif, yang diabaikan begitu saja.

Dalam kasus terakhir, #bla bla blaini diinterpretasikan sebagai parameter ke-3, yang mana dalam RewriteRulekasus ini adalah tujuan dari flag, dan #bla bla blabukan merupakan flag yang dimengerti oleh mod_rewrite sehingga Anda mendapatkan kesalahan.

Jon Lin
sumber
7
Sarankan mengedit jawaban untuk mengatakan sesuatu seperti "# harus di awal baris". Terlepas dari itu, terima kasih!
pengguna1032531
@ user1032531 Maaf, itulah yang ingin saya katakan
Jon Lin
Bisakah komentar berada di dalam <IfModule>?
Daniel Springer
Ini adalah sesuatu yang telah saya pelajari kembali berkali-kali. Itu bisa menghabiskan waktu berjam-jam. Terima kasih.
Xonatron
1
Meskipun #harus berada di "awal" baris, baris dapat diawali dengan spasi kosong berapa pun. (Kelebihan) Spasi kosong dalam .htaccess diabaikan, dan dapat "ditaburkan" di mana saja, termasuk di awal baris. Dengan kata lain, #harus berupa karakter non-spasi pertama dalam satu baris. Dulu saya keliru mengira #harus karakter 1, di kolom paling kiri!
SherylHohman
29

Format file config Apache ( .htaccesssalah satu contohnya) tidak mendukung komentar sebaris secara teknis, hanya komentar baris penuh (yaitu baris yang diawali dengan a #).

Baris yang dimulai dengan karakter hash "#" dianggap sebagai komentar, dan diabaikan. Komentar mungkin tidak disertakan pada baris setelah arahan konfigurasi. - Manual resmi Apache 2.4

Namun, yang membingungkan, setiap modul dapat mengurai input untuk arahannya sesuka hati - jadi mod_rewriteputuskan apa yang harus dilakukan dengan baris apa pun yang dimulai denganRewriteRule

Saya tidak tahu pasti tapi tebakan saya mod_rewriteadalah mengabaikan semuanya setelah [flags], dan #sebenarnya tidak perlu sama sekali.

Taruhan terbaik, bagaimanapun, adalah untuk selalu menjaga komentar di baris mereka sendiri, karena itu akan berfungsi apa pun arahan Anda berkomentar.

IMSoP
sumber