Comment tester '.htaccess' à partir de la command line

J'essaye de traquer la cause d'une erreur intermittente de server interne d' Apache pendant les modifications et les téléchargements de MediaWiki. Certaines sources me disent de vérifier .htaccess pour les erreurs.

Je peux vérifier pour .htaccess avec:

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

Cependant, je ne sais pas ce que la command Apache est de tester le file. .htaccess . C'est-à-dire, je ne sais pas quoi twigr dans la partie -exec de find .

J'ai regardé apachectl et essayé apachectl test , mais il ressemble à une impasse:

 $ 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 comstack settings -h : list available command line options (this page) -l : list comstackd 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) 

J'ai access SSH à la boîte, et c'est comme ça que j'effectue la maintenance. Il n'y a pas de browser disponible, mais je pourrais probablement travailler avec Lynx si nécessaire.

Comment puis-je tester les différents .htaccess indiqués ci-dessous à partir de la command line?


 $ 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 

Comment puis-je tester .htaccess à partir de la command line?

Exactement la même chose que si vous n'étiez pas sur une command line, avec une requête HTTP.

Il existe des outils communs utiles pour cela tels que (mais non limité à) curl et wget . Ces deux outils incluent des options pour get l'en-tête reçu, le code de return HTTP et la sortie complète.

Si vous avez besoin de l'intégrer dans une search automatique, vous devez faire une simple substitution de text ou une correspondance comme:

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

… qui produit:

http://www.mysite.com

Basé sur vos commentaires montrant le path réel de ……..

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

… vous donnerait:

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

Donc, la command finale pourrait être:

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