Как я могу выполнить проверку синтаксиса файла.htaccess в среде общего хостинга?

У меня есть скрипт сборки (Perl), который изменяет .htaccess файл при развертывании моих приложений. В качестве двойной проверки я хотел бы иметь возможность выполнять какую-то проверку синтаксиса для созданного .htaccess файл.

Я знаком с идеей использования apachectl -t однако я нахожусь в среде общего хостинга, и из-за ограничений доступа к файлам я не могу прочитать определенные файлы конфигурации, указанные системными администраторами. Apachectl просто не сработает в этом плане.

Идеи или предложения приветствуются.

5 ответов

Самым надежным средством проверки синтаксиса является сам Apache.

Если вы можете справиться с 500 мс возможного простоя (время, которое требуется для выполнения http-запроса к localhost, очень приблизительно), сделайте следующее:

  1. Сделайте резервную копию текущего файла htaccess
  2. Замените текущий файл htaccess на файл для тестирования
  3. Сделайте запрос к серверу, например "curl localhost"
  4. Если скручивание не удалось, поместите резервную копию обратно

Нет собственного валидатора.htaccess. Если существует сторонний инструмент, я не уверен, доверю ли я ему. Поскольку это скрипт, который изменяет файл, вы должны иметь возможность кодировать проверку в вашем скрипте.

Вы также можете включить процессы тестирования и проверки для своего развертывания, которые помогут уменьшить количество ошибок.

Используя классные текстовые редакторы, такие как Coda для Mac или TextMate для Mac или, возможно, Notepad++ для ПК, вы можете включить подсветку синтаксиса, которая может быть не идеальной, но будет полезной. .htaccess написан на Per, поэтому просто включите подсветку синтаксиса для Perl!

Вы можете просто использовать Notepad++ для проверки синтаксиса.

Сайлас Брилл был достаточно любезен, чтобы создать собственный язык для файлов htaccess и поделиться им здесь. http://notepad-plus.sourceforge.net/commun/userDefinedLang/Htaccess.xml

Просто зайдите в View -> User-Defined-Dialogue -> Import

и перезапустите Блокнот ++. Вы должны увидеть новый язык в разделе " Язык".

Другие вопросы по тегам