WordPress.org

Le .htaccess est un fichier de configuration distribué, et c’est la façon dont Apache gère les changements de configuration sur une base par répertoire.

WordPress utilise ce fichier pour manipuler la façon dont Apache sert les fichiers de son répertoire racine, et de ses sous-répertoires. Plus particulièrement, WP modifie ce fichier pour pouvoir gérer de jolis permaliens.

Cette page peut être utilisée pour restaurer un fichier .htaccess corrompu (par ex. un plugin qui se comporte mal).

Basic WP # Basic WP

# BEGIN WordPressRewriteEngine OnRewriteRule .* - RewriteBase /RewriteRule ^index\.php$ - RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php # END WordPress

Top

Multisite # Multisite

WordPress 3.5 et plus # WordPress 3.5 et plus

Si vous avez activé Multisite sur WordPress 3.5 ou plus, utilisez l’un de ces éléments.

Exemple de sous-dossier

RewriteEngine OnRewriteRule .* - RewriteBase /RewriteRule ^index\.php$ - # add a trailing slash to /wp-adminRewriteRule ^(+/)?wp-admin$ $1wp-admin/ RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - RewriteRule ^(+/)?(wp-(content|admin|includes).*) $2 RewriteRule ^(+/)?(.*\.php)$ $2 RewriteRule . index.php 

Exemple de sous-domaine

RewriteEngine OnRewriteRule .* - RewriteBase /RewriteRule ^index\.php$ - # add a trailing slash to /wp-adminRewriteRule ^wp-admin$ wp-admin/ RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - RewriteRule ^(wp-(content|admin|includes).*) $1 RewriteRule ^(.*\.php)$ $1 RewriteRule . index.php 

Top

WordPress 3.4 et moins # WordPress 3.4 et moins

Si vous avez initialement installé WordPress avec 3.4 ou plus ancien et activé Multisite alors, vous devez utiliser l’un de ces éléments :

Exemple de sous-dossier

WordPress 3.0 à 3.4.2

# BEGIN WordPressRewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - # uploaded filesRewriteRule ^(+/)?files/(.+) wp-includes/ms-files.php?file=$2 # add a trailing slash to /wp-adminRewriteRule ^(+/)?wp-admin$ $1wp-admin/ RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - RewriteRule ^+/(wp-(content|admin|includes).*) $1 RewriteRule ^+/(.*\.php)$ $1 RewriteRule . index.php # END WordPress

Exemple de sous-domaine

# BEGIN WordPressRewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - # uploaded filesRewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - RewriteRule . index.php # END WordPress

Top

Exemples généraux # General. Exemples

Top

Options # Options

Toutes les options précédées d’un + s’ajoutent aux options actuellement en vigueur, et toute option précédée d’un – est supprimée des options actuellement en vigueur.

Les valeurs possibles pour la directive Options sont toute combinaison de :

Aucune

Toutes les options sont désactivées.

Toutes

Toutes les options, à l’exception de MultiViews. Il s’agit du paramètre par défaut.

ExecCGI

L’exécution de scripts CGI à l’aide de mod_cgi est autorisée.

SuiviSymLiens

Le serveur suivra les liens symboliques dans ce répertoire.

Includes

Les includes côté serveur fournis par mod_include sont autorisés.

IncludesNOEXEC

Les includes côté serveur sont autorisés, mais les #exec cmd et #exec cgi sont désactivés.

Index

Les mappes d’URL vers un répertoire, et pas de DirectoryIndex, une liste formatée du répertoire.

MultiViews

Le contenu négocié « MultiViews » est autorisé en utilisant mod_negotiation.

SymLinksIfOwnerMatch

Seulement suivre les liens symboliques où la cible est possédée par le même id utilisateur que le lien.

Cela désactivera toutes les options, puis n’activera que FollowSymLinks, qui est nécessaire pour mod_rewrite.

Options NoneOptions FollowSymLinks

Top

DirectoryIndex # DirectoryIndex

DirectoryIndex définit le fichier qu’Apache servira si un répertoire est demandé.

Plusieurs URL peuvent être données, auquel cas le serveur renverra la première qu’il trouvera.

DirectoryIndex index.php index.html /index.php

Top

DefaultLanguage # DefaultLanguage

DefaultLanguage fera en sorte que tous les fichiers qui n’ont pas déjà une balise de langue spécifique associée utiliseront celle-ci.

DefaultLanguage en

Top

Default Charset # Default Charset

Définir le codage des caractères par défaut envoyé dans l’en-tête HTTP. Voir : Définition des informations sur le jeu de caractères dans .htaccess

AddDefaultCharset UTF-8

Set Charset for Specific Files

AddType 'text/html; charset=UTF-8' .html

Set for specific files

AddCharset UTF-8 .html

.

Haut

ServerSignature # ServerSignature

La directive ServerSignature permet la configuration d’une ligne de bas de page de queue sous les documents générés par le serveur-.générés par le serveur. Ajoutez éventuellement une ligne contenant la version du serveur et le nom d’hôte virtuel aux pages générées par le serveur (documents d’erreurs internes, listes de répertoires FTP, sortie mod_status et mod_info, etc, mais pas les documents générés par CGI ou les documents d’erreur personnalisés).

On

ajoute une ligne avec le numéro de version du serveur et ServerName de l’hôte virtuel serveur

Off

supprime la ligne de bas de page

Email

crée une référence « mailto : » vers le ServerAdmin du document référencé

SetEnv SERVER_ADMIN [email protected] Email

Top

Forcer le téléchargement des fichiers #Forcer le téléchargement des fichiers

Les éléments ci-dessous feront en sorte que toutes les demandes de fichiers se terminant par les extensions spécifiées ne seront pas affichées dans le navigateur mais forceront une boîte de dialogue « Enregistrer sous » afin que le client puisse télécharger.

AddType application/octet-stream .avi .mpg .mov .pdf .xls .mp4

Haut

Compression HTTP # HTTP Compression

La directive AddOutputFilter fait correspondre l’extension du nom de fichier aux filtres qui traiteront les réponses du serveur avant qu’elles ne soient envoyées au client. Ceci s’ajoute à tous les filtres définis ailleurs, notamment SetOutputFilter et AddOutputFilterByType. Ce mappage est fusionné sur celui déjà en vigueur, remplaçant tout mappage qui existe déjà pour la même extension.

Voir aussi : https://developers.google.com/speed/docs/insights/EnableCompression

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascriptBrowserMatch ^Mozilla/4 gzip-only-text/htmlBrowserMatch ^Mozilla/4\.0 no-gzipBrowserMatch \bMSIE !no-gzip !gzip-only-text/html

Forcer la compression pour certains fichiers

SetOutputFilter DEFLATE

Haut de page.

Envoyer des en-têtes HTTP personnalisés # Send Custom HTTP Headers

La directive Header vous permet d’envoyer des en-têtes HTTP pour chaque requête, ou seulement des fichiers spécifiques. Vous pouvez visualiser les en-têtes HTTP d’un site à l’aide de Firebug, Chrome Dev Tools, Wireshark ou d’un outil en ligne.

Header set X-Pingback "http://www.askapache.com/xmlrpc.php"Header set Content-Language "en-US"

Top

Unset HTTP Headers # Unset HTTP Headers

Ceci va désactiver les en-têtes HTTP, en utilisant toujours va essayer extra fort de les supprimer.

Header unset PragmaHeader always unset WP-Super-CacheHeader always unset X-Pingback

Top

Protection de la connexion par mot de passe # Password Protect Login

Ceci est très utile pour protéger le fichier wp-login.php. Vous pouvez utiliser ce générateur htpasswd.

Authentification de base

AuthType BasicAuthName "Password Protected"AuthUserFile /full/path/to/.htpasswdRequire valid-userSatisfy All

Authentification par digest

AuthType DigestAuthName "Password Protected"AuthDigestDomain /wp-login.php https://www.askapache.com/wp-login.phpAuthUserFile /full/path/to/.htpasswdRequire valid-userSatisfy All

Top

Exiger une IP spécifique # Exiger une IP spécifique

C’est un moyen de n’autoriser l’accès qu’à certaines adresses IP.

ErrorDocument 401 defaultErrorDocument 403 defaultOrder deny,allowDeny from allAllow from 198.101.159.98 localhost

Top

Protéger les fichiers sensibles # Protect Sensitive Files

Ceci refuse tout accès web à votre fichier wp-config, error_logs, php.ini, et htaccess/htpasswds.

Order deny,allowDeny from all

Haut de page

Exiger SSL # Require SSL

Ceci forcera SSL, et exigera le nom d’hôte exact, sinon il redirigera vers la version SSL. Utile dans un /wp-admin/.htaccess fichier.

SSLOptions +StrictRequireSSLRequireSSLSSLRequire %{HTTP_HOST} eq "www.wordpress.com"ErrorDocument 403 https://www.wordpress.com

Top

Ressources externes # External Resources

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *