Додавання коментарів до .htaccess


Відповіді:


143

Коментарі в .htaccess мають розміщуватися у власному рядку , а не додаватися до інших тверджень.

Останнє правило не працює, оскільки коментарі насправді не є коментарями. Коментарі в htaccess повинні починатися з символу #(повинен бути на початку рядка), а не довільно ніде.

У другому випадку значення #bla bla blaінтерпретується як 4-й параметр RewriteRuleдирективи, який просто ігнорується.

В останньому випадку, значення #bla bla blaінтерпретується як 3-й параметр, який у RewriteRuleвипадку - це те, куди йдуть прапори, і #bla bla blaце не будь-які прапори, які mod_rewrite розуміє, тому ви отримуєте помилку.


7
Рекомендуйте відповідь на редагування, щоб сказати щось на кшталт "# повинен бути на початку рядка". Незалежно, дякую!
user1032531

@ user1032531 Вибачте, саме це я мав сказати
Джон Лін,

Чи можуть коментарі бути всередині <IfModule>?
Даніель Спрінгер

Це те, що я перевчав багато разів. Це може витратити години. Дякую.
Ксонатрон

1
Поки він #повинен бути на "початку" рядка, йому може передувати будь-яка кількість пробілів. (Надлишок) Пробіли в .htaccess ігноруються і можуть бути "посипані" де завгодно, включаючи на початку рядків. Іншими словами, #повинен бути першим непробільним символом у рядку. Я помилково вважав #, що в крайній лівій колонці повинен бути символ 1!
SherylHohman

29

Формат конфігураційного файлу Apache ( .htaccessприкладом яких є файли) технічно не підтримує вбудовані коментарі, лише повнокомандні коментарі (тобто рядок, що починається на a #).

Рядки, що починаються з символу хешу "#", вважаються коментарями та ігноруються. Коментарі не можуть бути включені в рядок після директиви конфігурації. - Офіційне керівництво Apache 2.4

Однак, що заплутано, кожен модуль аналізує введення для своїх директив, як йому подобається - тому mod_rewriteвирішуйте, що робити з будь-яким рядком, що починаєтьсяRewriteRule

Я точно не знаю, але я здогадуюсь, що mod_rewriteігнорує все після [flags], а #насправді взагалі не потрібно.

Проте найкращий вибір - завжди залишати коментарі у своєму рядку, оскільки це буде працювати незалежно від директиви, яку ви коментуєте.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.