====== Htaccess ======
Les fichiers htaccess, c'est la misère.
===== Redirections simples =====
Redirige chaque requête sur page.php
RewriteEngine On
RewriteRule .* page.php
Redirige vers un sous-domaine, par exemple www :
RewriteEngine on
Rewritecond %{HTTP_HOST} ^exemple.com$
Rewriterule ^(.*) http://www.monsite.com/$1 [QSA,L,R=301]
Rediriger vers un dossier en particulier sans afficher le dossier concerné (utile quand on a /var/www/dokuwiki mais qu'on veut que le dokuwiki soit accessible depuis monsite.com/ )
RewriteEngine on
Rewritecond %{HTTP_HOST} ^exemple.com
Rewritecond %{REQUEST_URI} !^/MonSite
Rewriterule ^(.*)$ /MonSite/
===== Réécriture des URL =====
Le module mod_rewrite permet la réécriture des URL : ''sudo a2enmod rewrite''
Lance testing.php avec la variable GET contenant l’URL mis par le visiteur
RewriteEngine On
RewriteCond %{REQUEST_URI} !testing.php
RewriteRule (.*) testing.php?var=$1
print("testing server
\n");
print("var: $var\n");
?>
Rediriger automatiquement le visiteur en HTTPS quand il visite le site en HTTP
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.monsite.fr/$1 [R,L]
===== Mode maintenance =====
Mettre ce qui suit dans le fichier ''.htaccess'', remplacer ''XX\.XXX\.XXX\.XXX'' par l'ip.
Options +FollowSymLinks -Indexes
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
# Mode maintenance
RewriteCond %{REMOTE_ADDR} !^XX\.XXX\.XXX\.XXX
RewriteCond %{REQUEST_URI} !^503.php [NC]
RewriteRule .* 503.php [L]
===== Source =====
Pas mal de doc utile sur https://docs.ovh.com/fr/fr/web/hosting/mutualise-tout-sur-le-fichier-htaccess/