Проект, над которым я недавно работаю, существует уже много лет, и ему удалось накопить несколько сотен довольно сложных RewriteRule в файлах конфигурации Apache.

При работе с некоторыми файлами я смог выяснить, какие правила влияют на них. Однако, в других случаях я полностью застрял в выяснении этого. До сих пор мой метод состоял в том, чтобы вручную просматривать различные файлы conf и grep их для определенных ключевых слов.

Есть лучший способ сделать это?

Вот некоторые вещи, о которых я могу думать:

  • Есть ли команда или REPL, где я могу ввести путь, и он возвращает это имя файла, который он обслуживает?
  • Есть ли инструмент, который позволит вам сделать выше, а также выделить, какие строки в файлах conf переписали это правило?
  • Есть ли способ проверить файлы журналов, чтобы определить, какой путь ввода и соответствующий путь к файлу был?

... но я не уверен, с чего начать.

2 ответа2

2

Пожалуйста, включите директиву RewriteLog, которую Пол упомянул выше. Затем установите значение директивы RewriteLogLevel равным 2.

После этого начните увеличивать значение RewrireLogLevel до 9, пока не увидите необходимые данные, записанные в файл журнала.

0

согласен с выше, чтобы включить переписать журнал, просто добавьте

RewriteLog <file-path>
RewriteLogLevel 2

в ваш файл virtualhost, затем перезапустите apache

файл man для переписывания модов можно найти здесь

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .