kmchen
Septembre 21, 2020, 1:45
1
sur un drupal j’ai essayé diverses méthodes de redirection https:
# Redirect permanent / https://site.org/
RewriteEngine On
# RewriteCond %{HTTP_HOST} ^(.*)site\.org$
# RewriteRule ^(.*)$ https://%1site.org$1 [R=302,L]
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
les url http://site.com , http://site.com/index.php/u/admin sont redirigées vers https mais curieusement l’url suivante ne l’est pas et donne 404:
http://site.com/u/admin
Pourquoi ?
Bonjour,
La meilleure façon de faire c’est la première ligne que tu as commentée
Il est probable que ta règle de réécriture qui transforme :
http://site.com/u/admin en https://site.com/u/admin ne fonctionne pas parce que le index.php est manquant (ajouté ou enlevé par une règle dans un autre fichier ?)
kmchen
Septembre 21, 2020, 3:03
3
Les commandes sont dans le vhost du domaine:
$ cat /etc/apache2/sites-enabled/site.org.conf
<VirtualHost *:80>
ServerName site.org
ServerAlias *.site.org
ServerAdmin x@x.com
DocumentRoot /var/www/site.org/web
Redirect permanent / https://site.org/
# RewriteEngine On
# RewriteCond %{HTTP_HOST} ^(.*)site\.org$
# RewriteRule ^(.*)$ https://%1site.org$1 [R=302,L]
# RewriteCond %{HTTPS} !=on
# RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
Quel autre fichier pourrait le court circuiter ?
Est-ce que cela fonctionne avec cette configuration (redirect permanent) ? Sinon quel est le problème ?
Tout fichier htaccess situé dans le dossier du site et tout script du site susceptible de modifier les URL.
N.B. : /etc/apache2/sites-enabled/ ne doit contenir que des liens symboliques, les fichiers sont sous /etc/apache2/sites-available/.
kmchen
Septembre 22, 2020, 9:19
5
https://site.org/u/admin fonctionne
http://site.org/u/admin donne 404
Il n’y a pas une directive pour empêcher les .htacess d’être lus avant la redirection ?
Les .htaccess sont interprétés après la redirection. Voir la doc apache .
Le problème se situe certainement au niveau de la configuration de Drupal et non de celle d’Apache.
PmGs
Septembre 23, 2020, 10:24
7
Une question bête, as-tu redémarré apache2?
kmchen
Septembre 24, 2020, 7:03
8
Non, pas bête la question, car ce genre de blague m’est arrivée plus souvent qu’à mon tour…
@Bruno : si la redirection https a lieu pourquoi est-ce qu’on obtient 404 puisque cette url fonctionne en https ?
Je l’ai déjà dit. Il y a probablement quelque part une réécriture d’URL qui concerne index.php. Il faut voir la doc de Drupal.
Montre-nous la configuration complète de ton hôte virtuel sur les ports 80 et 443, le fichier .htacces de Drupal et le fichier de configuration de Drupal.
PmGs
Septembre 24, 2020, 11:34
10
Encore une autre question bête, as-tu essayé avec un autre navigateur? En vidant le cache de celui en cours?