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
- testing.php
<? print("testing server <br/>\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/