Intereting Posts

Как проверить '.htaccess' из командной строки

Я пытаюсь отслеживать причину прерывистой ошибки внутреннего сервера Apache во время редактирования и загрузки MediaWiki. Некоторые источники сообщают мне проверить .htaccess наличие ошибок.

Я могу .htaccess аудит на .htaccess с помощью:

 sudo find /var -name '.htaccess' -exec ls -al {} \; 

Однако я не знаю, что команда Apache проверит файл .htaccess . То есть, я не знаю, что подключить к -exec части find .

Я посмотрел на apachectl и попробовал apachectl test , но он выглядит как тупик:

 $ apachectl test Usage: /usr/sbin/httpd [-D name] [-d directory] [-f file] [-C "directive"] [-c "directive"] [-k start|restart|graceful|graceful-stop|stop] [-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X] Options: -D name : define a name for use in <IfDefine name> directives -d directory : specify an alternate initial ServerRoot -f file : specify an alternate ServerConfigFile -C "directive" : process directive before reading config files -c "directive" : process directive after reading config files -e level : show startup errors of level (see LogLevel) -E file : log startup errors to file -v : show version number -V : show compile settings -h : list available command line options (this page) -l : list compiled in modules -L : list available configuration directives -t -D DUMP_VHOSTS : show parsed vhost settings -t -D DUMP_RUN_CFG : show parsed run settings -S : a synonym for -t -D DUMP_VHOSTS -D DUMP_RUN_CFG -t -D DUMP_MODULES : show all loaded modules -M : a synonym for -t -D DUMP_MODULES -t : run syntax check for config files -T : start without DocumentRoot(s) check -X : debug mode (only one worker, do not detach) 

У меня есть SSH доступ к ящику, и именно так я выполняю техническое обслуживание. Браузера нет, но, возможно, я мог бы работать с рысью.

Как проверить различные .htaccess показанные ниже из командной строки?


 $ sudo find /var -name '.htaccess' -exec ls -l {} \; -rw-r----- 1 root apache 180 Aug 9 2015 /var/www/html/wiki/images/.htaccess -rw-r----- 1 root apache 14 Aug 9 2015 /var/www/html/wiki/images/deleted/.htaccess -rw-r----- 1 root apache 14 May 25 2015 /var/www/html/wiki/languages/.htaccess -rw-r----- 1 root apache 14 May 25 2015 /var/www/html/wiki/serialized/.htaccess -rw-r----- 1 root apache 14 May 25 2015 /var/www/html/wiki/cache/.htaccess -rw-r----- 1 root apache 14 May 25 2015 /var/www/html/wiki/includes/.htaccess -rw-r----- 1 root apache 14 May 25 2015 /var/www/html/wiki/maintenance/archives/.htaccess -rw-r----- 1 root apache 14 May 25 2015 /var/www/html/wiki/maintenance/.htaccess -rw-r----- 1 root apache 180 Aug 9 2015 /var/www/html/.htaccess 

 $ apachectl -v Server version: Apache/2.4.6 (CentOS) Server built: May 12 2016 10:27:23 

Как проверить .htaccess из командной строки?

Точно так же, как если бы вы не были в командной строке, с HTTP-запросом.

Для этого существуют общие инструменты, такие как (но не ограничиваясь ими) curl и wget . Оба этих инструмента включают опции для получения полученного заголовка, кода возврата HTTP и полного вывода.

Если вам нужно интегрировать его в автоматический поиск, вам нужно будет сделать простое подмену или сопоставление текста, например:

 basename `dirname /var/www/www.mysite.com/public` 

… который выводит:

http://www.mysite.com

На основе ваших комментариев, показывающих фактический путь ……..

 echo www.yoursite.com/`dirname /var/www/html/wiki/serialized/.htaccess|cut -d/ -f5-` 

… даст вам:

http://www.yoursite.com/wiki/serialized

Таким образом, последняя команда может быть:

 wget $(echo www.yoursite.com/`dirname /var/www/html/wiki/serialized/.htaccess|cut -d/ -f5-`)