J'essaie d'écrire une règle de réécriture dans mon .htaccess
qui redirige tout le trafic sauf un domaine vers https. Ensuite, si le fichier auquel il essaie d'accéder n'existe pas, exécutez le dernier bloc suivant, en allant à loader.php
, mais si le fichier existe, allez-y.htaccess règle de réécriture si le fichier existe ailleurs aller au fichier PHP
est ici une des itérations j'ai jusqu'à présent:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^(www\.)?(korle\.tt) [NC]
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]
<If "-f %{DOCUMENT_ROOT} . '/'">
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /loader.php [L]
</If>
<Else>
RewriteEngine On
RewriteRule^/404.html [R=404,L]
</Else>
Ce que je suis en train de faire est si l'utilisateur va korlett.org
ou korlett.net
ou korelett.com
ou tout fichier, il redirige vers https://
. Mais pas http://korle.tt
ou d'autres domaines pointant vers ce répertoire (pour l'instant non spécifié), ils resteront HTTP.
Après cela, si le fichier n'existe pas ou si l'URL retourne une 404 puis exécutez ceci:
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /loader.php [L]
Que fait le '
tadman
@tadman Je le pensais, mais quelqu'un m'a recommandé de le faire pour vérifier si le fichier renvoie un 404/non trouvé. Mais quand j'essaie de valider le fichier, il dit que ce n'est pas une syntaxe valide (à la If). Donc je suppose que cela n'a pas d'importance si cela fonctionne. Aucune suggestion? – wordSmith
La directive 'RewriteCond' est une sorte de' if' en soi. L'autre truc est juste dans le chemin ici. – tadman