Як перегукуватися з .htaccess?


13

Ми пишемо багато коду до htaccess, але який найкращий спосіб налагодження, крім оновлення сторінки?

Чи є якимось чином я можу записати його у файл? чи є якась функція ехо / друку?

Просто як я можу знати, що таке мій $ 1 $ 2 $ 3?

Відповіді:


8

Ви можете спробувати метод, згаданий у публікації блогу під назвою Пара способів налагодження mod_rewrite :


В основному, ви робите це скидання частини інформації, яку mod_rewrite використовує назад у заголовки, а потім використовуйте розширення заголовків Firebug або LiveHTTP у Firefox, щоб дивитися заголовки та читати інформацію про налагодження.

У .htaccess використовуйте умову та правило:

RewriteCond %{QUERY_STRING} !vardump
RewriteRule (.*) http://www.example.com/$1?vardump&thereq=%{THE_REQUEST}&reqhost=%{HTTP_HOST} [R=301,L,QSA]

Я б запропонував зробити переадресацію 302, щоб уникнути проблем із кешованим результатом 301 у браузері після закінчення тесту.
IPSUS

9

Спробуйте такі:

RewriteLog "/myfolder/mylogfile.log" 
RewriteLogLevel 3

Це лише регулярні вирази з деякими доповненнями, тому ви можете використовувати тренер Regex для початкового тестування URL-адрес або будь-який інший інструмент налагодження Regex.

Ура! :)


Дуже корисний інструмент, але не забудьте видалити його після налагодження, оскільки ваш може отримати масивний файл журналу!
Купи

6
Мабуть, це не працює у .htaccessфайлах. Це httpd.confозначає, що зазвичай це неможливо досягти на спільних хостинг-акаунтах. :-(
Саймон Схід

2

Ось цікавий маленький хак, щоб "відлунювати" змінні з файлу .htaccess.

Якщо для файлу AllowOverride встановлено FileInfo, ви можете встановити та запустити власну відповідь на помилку у вашому файлі .htaccess із потрібними змінними у виводі:

ErrorDocument 404 "Request: %{THE_REQUEST} Referrer: %{HTTP_REFERER} Host: %{HTTP_HOST}"
RewriteRule ^ - [L,R=404]

Залежно від того, наскільки ви творчі з виразами, ви можете виводити багато корисної інформації!

Ви не обмежуєтесь використанням статусу 404 у своєму "відлунюваному" вмісті. Ви навіть можете змінити статус 200 "ErrorDocument" - що в поєднанні з <If>директивами може зробити для деяких інших досить цікавих застосувань цього хака для повернення вмісту безпосередньо з файлу .htaccess.

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