Щоб відповісти на перше запитання із трьох запитаних, простий спосіб зрозуміти, чи працює .htaccess файл чи ні - це викликати власну помилку у верхній частині файлу .htaccess:
ErrorDocument 200 "Hello. This is your .htaccess file talking."
RewriteRule ^ - [L,R=200]
Що стосується вашого другого питання, якщо файл .htaccess не читається, можливо, основну конфігурацію сервера Apache AllowOverride
встановлено на None
. Документація Apache містить поради щодо усунення несправностей для тих та інших випадків, які можуть перешкоджати введенню .htaccess у дію.
Нарешті, щоб відповісти на ваше третє запитання, якщо вам потрібно налагодити певні змінні, на які ви посилаєтесь у вашому правилі переписання або використовуєте вираз, який ви хочете оцінити незалежно від правила, ви можете зробити наступне:
Виведіть змінну, на яку ви посилаєтесь, щоб переконатися, що вона має значення, яке ви очікуєте:
ErrorDocument 200 "Request: %{THE_REQUEST} Referrer: %{HTTP_REFERER} Host: %{HTTP_HOST}"
RewriteRule ^ - [L,R=200]
Випробуйте вираз самостійно, ввівши його в <If>
директиву. Це дозволяє переконатися, що ваш вираз написано правильно або збігається, коли ви очікуєте, що це:
<If "%{REQUEST_URI} =~ /word$/">
ErrorDocument 200 "Your expression is priceless!"
RewriteRule ^ - [L,R=200]
</If>
Щаслива .htaccess налагодження!