GNU/Linux >> Tutoriels Linux >  >> Linux

Trucs et astuces Linux .htaccess

Cet article utilise les technologies suivantes :

  • Serveurs cloud Linux® exécutant Apache®
  • Serveurs Linux dédiés exécutant Apache
  • Sites Cloud Rackspace

Vous pouvez apporter des modifications à votre site en utilisant un .htaccess file.Cet article vous montre quelques-unes des modifications que vous pouvez apporter.

Localisez votre fichier .htaccess

Dans les systèmes de fichiers UNIX® et Linux, un point précède les noms des fichiers cachés (par exemple, .htaccess et .htpasswd ). FileMan et de nombreuses applications FTP (File Transfer Protocol) n'affichent pas les fichiers cachés par défaut.

La façon dont vous affichez les fichiers cachés, y compris votre .htaccess fichier, dépend du programme FTP que vous utilisez. Cette section vous montre comment procéder dans les programmes FTP courants.

Modifier le temps d'exécution maximal de PHP

Si vous utilisez des sites cloud, vous devez modifier le temps d'exécution maximal de PHP® pour un serveur cloud en utilisant un .htaccess fichier.

Dans un .htaccess fichier dans le même répertoire que le script en cours d'exécution, incluez la ligne suivante :

php_value max_execution_time <PHP maximum execution time>

Remplacer PHP maximum execution time avec la valeur que vous souhaitez utiliser comme temps d'exécution maximum. Le temps par défaut est de 30 secondes. Lorsque vous modifiez le fichier avec succès, le nouveau temps d'exécution maximal s'affiche dans votre fichier d'informations PHP.

Modifier la limite de mémoire PHP

Si vous utilisez Cloud Sites, vous devez modifier la limite de mémoire PHP en utilisant un .htaccess fichier.

Dans un .htaccess fichier dans le même répertoire que le script en cours d'exécution, incluez la ligne suivante :

php_value memory_limit <megabytes>M

Remplacer megabytes avec la valeur en mégaoctets que vous souhaitez utiliser. La taille par défaut est de 128 Mo. Lorsque vous modifiez le fichier avec succès, la nouvelle limite de mémoire s'affiche dans votre fichier d'informations PHP.

Modifier la taille maximale du fichier de téléchargement PHP

Si vous utilisez Cloud Sites, vous devez modifier la taille maximale du fichier de téléchargement PHP en utilisant un .htaccess fichier.

Dans un .htaccess fichier dans le même répertoire que le script en cours d'exécution, incluez la ligne suivante :

php_value upload_max_filesize <megabytes>M

Remplacer megabytes avec la valeur en mégaoctets que vous souhaitez utiliser. La taille par défaut est de 8 Mo. Lorsque vous modifiez le fichier avec succès, la nouvelle taille de téléchargement maximale s'affiche dans votre fichier d'informations PHP.

Si vous utilisez WordPress® et que vous continuez à rencontrer des problèmes après avoir augmenté la taille de téléchargement maximale, vous pouvez essayer d'inclure les paramètres supplémentaires suivants :

php_value post_max_size ?M
php_value max_execution_time 200
php_value max_input_time 200

Modifier la taille maximale de la publication

Si vous utilisez Cloud Sites, vous devez modifier la taille maximale des messages en utilisant un .htaccess fichier.

Dans un .htaccess fichier dans le même répertoire que le script en cours d'exécution, incluez la ligne suivante :

php_value post_max_size <megabytes>M

Remplacer megabytes avec la valeur en mégaoctets que vous souhaitez utiliser (par exemple, 16 ).

Créer une redirection 301

Une redirection 301 est un message d'état HTTP (HyperText Transfer Protocol) qui transfère de façon permanente un utilisateur ou un moteur de recherche vers une URL (Uniform Resource Locator) différente de celle initialement demandée. L'utilisation d'une redirection 301 est un moyen efficace de s'assurer que les utilisateurs et les moteurs de recherche trouvent votre contenu.

Les exemples suivants sont spécifiques à PHP et ne fonctionnent que si vous avez configuré votre site cloud pour PHP. Ces exemples ne fonctionnent pas pour Internet InformationServices (IIS) avec Active Server Pages (ASP) ou ASP.NET.

Exemples de redirection

Les exemples suivants sont des exemples de redirection 301 de base qui utilisent un .htaccess dossier. Enregistrez ce fichier dans le dossier à partir duquel vous souhaitez effectuer la redirection.

Par exemple, si vous placez le .htaccess fichier dans le dossier /www.domain.com/web/content/ (en utilisant FTP), la redirection se produit lorsqu'un visiteur accède à http://www.domain.com dans son navigateur.

Le tableau suivant montre comment effectuer différents types de redirections en ajoutant du code à votre .htaccess fichier :

Redirection Exemple
Redirection d'une seule page Redirect 301 /pagename.php http://www.domain.com/pagename.html
Redirection d'un site entier Redirect 301 / http://www.domain.com/
Rediriger un site entier vers un sous-dossier Redirect 301 / http://www.domain.com/subfolder/
Rediriger un sous-dossier vers un autre site Redirect 301 /subfolder http://www.domain.com/
Redirection en utilisant RedirectMatch 301

La syntaxe suivante redirige un fichier avec le .html extension pour utiliser le même nom de fichier, mais avec le .php extension à la place :

RedirectMatch 301 (.*)\.html$ http://www.domain.com$1.php

Vous pouvez également effectuer une redirection 301 en réécrivant une URL dans votre .htaccess dossier. Plusieurs des sections suivantes incluent un exemple de code pour effectuer cette tâche.

Redirection d'un ancien domaine vers un nouveau domaine

Utilisez la syntaxe de réécriture suivante pour rediriger d'un ancien domaine vers un nouveau domaine :

RewriteEngine on
RewriteBase / 
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

Redirection vers un emplacement qui utilise un sous-domaine

Utilisez la syntaxe de réécriture suivante pour rediriger vers un emplacement qui utilise le sous-domaine www :

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,NC]

Redirection vers un sous-répertoire d'un emplacement qui utilise le sous-domaine

Utilisez la syntaxe de réécriture suivante pour rediriger vers un sous-répertoire d'un emplacement qui utilise le sous-domaine :

RewriteEngine on 
RewriteBase / 
RewriteCond %{HTTP_HOST} domain.com [NC] 
RewriteRule ^(.*)$ http://www.domain.com/directory/index.html [R=301,NC]

Redirection d'un emplacement qui utilise le sous-domaine vers un autre

Utilisez la syntaxe de réécriture suivante pour rediriger d'un emplacement qui utilise le sous-domaine vers un autre qui ne l'utilise pas :

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.domain.com [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

Remarque  : Utilisez l'outil de vérification de la redirection conviviale pour les moteurs de recherche pour vérifier que votre redirection est conviviale pour les moteurs de recherche.

Modifier le jeu de caractères par défaut pour PHP

Vous pouvez également changer le jeu de caractères par défaut pour PHP en modifiant votre .htaccess dossier. Dans un .htaccess fichier dans le répertoire dont vous souhaitez modifier le jeu de caractères, incluez la ligne de code suivante :

php_value default_charset <character set>

Remplacer character set avec le jeu de caractères requis par votre site, tel que ISO-8859-1 .

Remarque  :Cloud Sites utilise le jeu de caractères par défaut UTF-8 si vous n'en spécifiez pas un autre dans un .htaccess fichier.

Définir les types MIME sur votre site Web basé sur Linux et Apache

S'il existe un type MIME (Multipurpose Internet Mail Extensions) qui n'est pas défini sur votre site Web basé sur Linux et Apache, vous pouvez le définir dans votre .htaccess fichier en ajoutant le code suivant :

AddType MIMETYPE .extension

Par exemple, pour ajouter le type MIME pour un QuickTime .mov ou .qt fichier, vous ajoutez le code suivant :

AddType video/quicktime .qt .mov

Pour une liste complète des types MIME pris en charge par Apache, consultez ApacheSoftware Foundation SubversionServer.

Remarque  :La mise en forme dans le lien précédent peut ne pas être entièrement correcte pour une utilisation dans un .htaccess fichier.

Forcer SSL sur votre site PHP

Vous pouvez forcer les utilisateurs à accéder à votre site PHP en toute sécurité via Secure Sockets Layer (SSL) en ajoutant du code à votre .htaccess fichier.

Utilisez le code suivant pour forcer SSL sur un site Web entier :

#Force SSL on entire site 
RewriteEngine On
RewriteBase /
RewriteCond %{ENV:HTTPS} !on [NC] 
RewriteRule ^(.*)$ https://(YOURDOMAIN)/$1 [R,L]

Utilisez le code suivant pour forcer SSL sur un répertoire spécifique :

#Force SSL on a specific directory
RewriteEngine On
RewriteBase / 
RewriteCond %{ENV:HTTPS} !on [NC]
RewriteRule ^DIRNAME/(.*)$ https://YOURDOMAIN/DIRNAME/$1 [R,L]

Changer le document par défaut sur votre site PHP

Pour modifier le document par défaut sur votre site Web basé sur PHP, ajoutez le code suivant au .htaccess fichier :

DirectoryIndex filename.html

Vous pouvez également ajouter des noms de fichiers supplémentaires à ce code, comme illustré dans l'exemple suivant :

DirectoryIndex filename.html default.htm home.php home.html

Modifier le jeu de caractères par défaut pour HTML

Pour modifier le jeu de caractères par défaut pour HTML, ajoutez les lignes suivantes à un .htaccess fichier situé dans le répertoire dont vous souhaitez modifier le jeu de caractères, comme illustré dans l'exemple suivant :

AddDefaultCharset <character set>

Remplacer character set avec le jeu de caractères requis par votre site, tel que UTF-8 .

Alternativement, vous pouvez utiliser le AddType directive, comme illustré dans l'exemple suivant :

AddType 'text/html; charset=<character set>' html DefaultLanguage en-US

Remarque  :Cloud Sites utilise le jeu de caractères par défaut UTF-8 si vous n'en spécifiez pas un autre dans un .htaccess fichier.

Activer SSI

Vous pouvez activer Server Side Include (SSI) en utilisant .htaccess avec les directives suivantes :

AddType text/html .shtml 
AddHandler server-parsed .shtml 
Options Indexes FollowSymLinks Includes

Remarque :Vous ne pouvez pas servir de contenu PHP en utilisant SSI. Pour le contenu PHP, nous vous recommandons d'utiliser les instructions PHP include ou require, ou d'utiliser un inlineframe, comme illustré dans l'exemple suivant :

<html> <head></head> <body> <iframe src="/support/how-to/test.php" title="test"> </iframe> </body> </html>

Arrêter l'exécution des scripts PHP dans un répertoire

Pour empêcher les scripts PHP de s'exécuter dans un répertoire, créez un .htaccess fichier dans ce répertoire et ajoutez la ligne suivante :

removehandler .php

Ensuite, ajoutez les extensions de fichier que vous souhaitez arrêter.

Traiter PHP sur HTML et d'autres pages

Vous pouvez faire en sorte que PHP soit traité sur les pages HTM et HTML en définissant ces extensions pour qu'elles soient servies par le gestionnaire PHP. Vous pouvez activer le traitement PHP sur.htm et .html fichiers dans votre .htaccess en utilisant les directives suivantes :

AddHandler application/x-httpd-php php htm html AddType text/html php

Vous pouvez également traiter PHP sur des fichiers portant l'extension .test en utilisant les directives suivantes :

AddHandler application/x-httpd-php php test AddType text/html php

Vous pouvez trouver plus d'informations sur le AddHandler et AddType directivessur le site Web d'Apache.

Remarque :Nous vous recommandons d'utiliser uniquement l'extension PHP pour les pages PHP.

Configurer des pages d'erreur pour votre site Web PHP

Vous pouvez créer des pages d'erreur personnalisées pour votre site Web PHP en plaçant une ligne similaire à l'exemple suivant dans votre .htaccess fichier :

ErrorDocument "code" "location of error document"

L'exemple suivant montre comment créer une page d'erreur 404 :

ErrorDocument 404 /404.html

Vous pouvez également utiliser cette directive pour créer des pages d'erreur pour d'autres codes d'erreur. Cependant, vous devez spécifier le chemin vers la page d'erreur par rapport à l'emplacement du .htaccess fichier.

Activer la liste des répertoires en PHP

Pour activer la liste des répertoires en PHP, ajoutez la ligne suivante à votre .htaccess fichier :

Options +Indexes

Désactiver les citations magiques

Pour de nombreuses installations de système de gestion de contenu (CMS) Joomla !®, les clients doivent désactiver les Magic Quotes en PHP 5.3. (Cette fonctionnalité a été supprimée à partir de PHP 5.4). Ajoutez le code suivant à votre .htaccess fichier pour désactiver les Magic Quotes fonction :

php_flag magic_quotes_gpc Off

Définir le fuseau horaire d'un site Web fonctionnant sous Linux et PHP

Utilisez les informations de cette section pour modifier le fuseau horaire de votre site Web fonctionnant sous Linux et PHP.

Fuseau horaire par défaut

Le fuseau horaire par défaut pour Rackspace Cloud Sites est l'heure centrale (Amérique du Nord) et l'heure d'été est observée. Les décalages UTC sont les suivants :

  • Heure Normale du Centre UTC−6:00
  • Heure avancée du Centre UTC−5:00

Changer le fuseau horaire

Pour modifier le fuseau horaire de votre site Web fonctionnant sous Linux et PHP, vous devez modifier votre .htaccess fichier pour inclure la ligne suivante :

php_value date.timezone <TIMEZONE>

Pour une liste complète des TIMEZONE possibles valeurs, consultez la liste des fuseaux horaires pris en charge.

L'exemple suivant montre comment définir le fuseau horaire sur Dubaï :

php_value date.timezone Asia/Dubai

Tester le changement de fuseau horaire

Pour tester le changement de fuseau horaire, consultez le fichier d'informations PHP ou exécutez le fichier PHP suivant :

<?php echo date('l jS \of F Y h:i:s A'); ?>

Linux
  1. Trucs et astuces pour utiliser CUPS pour imprimer avec Linux

  2. 10 astuces et conseils intéressants en ligne de commande Linux à connaître

  3. Trucs et astuces pour les variables d'environnement Linux

  4. Trucs et astuces pour curl et wget

  5. Comment rediriger la sortie vers un fichier et Stdout sous Linux

Trucs et astuces pour utiliser la commande wget Linux

Une introduction au hachage et aux sommes de contrôle sous Linux

Comment créer et utiliser un fichier d'échange sous Linux

Trucs et astuces pour utiliser Ctrl + Z dans Ubuntu Linux

19 trucs et astuces utiles pour la ligne de commande Linux

L'année de Linux sur le bureau (Windows) - Trucs et astuces WSL