Bonsoir
Je n’arrive pas à proteger un repertoire web avec htaccess.
Je suis sous debian9 et apache2.4
Le mod rewrite est bien activé
Voic le contenu de mon virtualhost :
<VirtualHost *:80>
ServerName mondomaine.fr
ServerAlias www.mondomaine.fr
Alias /hit /home/user/www
ServerAdmin postmaster@mondomaine.fr
DocumentRoot /home/user/www/
<Directory /home/user/www/>
RewriteEngine On
RewriteBase /home/user/www/cgi-bin
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
Require all granted
</Directory>
ErrorLog /home/user/logs/error.mondomaine.fr.log
LogLevel warn
CustomLog /home/user/logs/access.mondomaine.fr.log combined
<Directory /home/user/www/>
Options Indexes
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.mondomaine.fr [OR]
RewriteCond %{SERVER_NAME} =mondomaine.fr
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
Merci pour votre aide
Cordialement
C’est parce que rewritebase ne s’utilise pas dans un contexte global .
Ca va dans le htaccess de /home/user/www.
Et même si tu peux mettre le rewriteengine on pour tout le site, il est plutôt d’usage de mettre toutes les directives de rewrite en htaccess, dans un
<IfModule mod_rewrite.c>
(...)
</IfModule>
mattotop:
rewriteengine on
J’ai beau ajouter rewriteengine on dans mon virtualhost le htaccess ne fonctionne pas.
Avez vous une autre idée ?
Merci à vous
Cordialement
Avec le virtualhost bien expurgé de toute les lignes concernant le rewrite ?
Et met ça dans le .htaccess (avec un ., c’est sur) :
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mondomaine\.fr [NC]
RewriteRule (.*) https://www.mondomaine.fr/$1 [QSA,R=301,L]
</IfModule>
Si ça ne marche pas, c’est peut être que ton module rewrite n’est pas activé: a2enmod rewrite
Toujours pas ?
C’était presque bon…
Pour faire ce que tu veux, c’est plutot ça, dans le .htaccess :
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mondomaine\.fr [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.mondomaine.fr/$1 [QSA,R=301,L]
</IfModule>
Non toujours pas
En fait j’essais de proteger un repertoire cgi-bin.
Ce que vous me dites d’ajouter dans le htaccess, c’est dans quel repertoire qui faut que je l’ajoute ? A la racine du site web ou dans le repertoire cgi-bin ?
Car là apparemment ce que vous me dites d’ajouter ca va a la racine du repertoire web
Merci pour vos lumiere
Cordialement
C’est bon j’ai trouvé !
L’erreur venait d’un virtualhost d’awstats qu’il faillait modifier.
Moi je modifiais juste le virtualhost de mon domaine mais il y avait un virtuahost pour awstats.
Voila merci à vous
Cordialement
Oui, effectivement, je n’avais pas compris pour cgi-bin, et ce que j’indiquais concernait les redirection pour obtenir un accés en forme canonique sur le serveur, pas la protection d’un répertoire.
Oui Mattotop je vous remercie d’avoir eclairé mes lanternes.
J’ai un autre probleme !
Bonjour
J’essais de faire fonctionner crontab mais ca veux pas !
Je tape la commande “crontab -e” et j’ajoute dans le fichier ceci :
20 05 * * * www-data /usr/lib/cgi-bin/awstats.pl -config=www.domaine.tld -update
Mais rien ne ce passe malgré les reboot du crontab.
Quand je reboot le crontab je vois dans /var/spool/cron/user que la commande est éxecutée mais jamais à l’heure ou je la configure.
Une idée ?
Merci par avance.
Cordialement
Si vous avez la solution ?
Merci Matt