Назад | Перейти на главную страницу

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

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

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

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

Самая надежная программа проверки синтаксиса - это сам 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

Просто зайдите в Посмотреть -> Пользовательский диалог -> Импортировать

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