Fichier de configuration htaccess

Commençons de loin avec l'objectif que les novices puissent voir comment fonctionne le fichier décrit dans l'article. Pour travailler le site Web sur Internet, vous avez besoin non seulement d'un PC et d'un accès au réseau, mais également d'une programmation extraordinaire introduite sur celui-ci, qui donne accès à des informations en utilisant les conventions HTTP et HTTPS. Ce produit est le serveur Web. Il existe différents types de serveurs Web, mais le plus largement reconnu est Apache. Il est basé sur le code open-source, gratuit, est continuellement amélioré et amélioré, compatible avec de nombreux scripts et fonctionne sur presque toutes les plates-formes, y compris Windows, Linux, Netware 5.x.

Apache est organisé au moyen de documents de conception qui sont rangés dans l'organisation du contenu. Avec leur aide, vous pouvez définir des normes d'activité explicites du serveur Web. L'enregistrement de conception principal est appelé httpd.conf ou apache.conf (en fonction du transport du système d'exploitation). La plupart du temps, toutes les configurations de serveur peuvent être déterminées ici, et essentiellement cette technique est la meilleure à la lumière du fait que:

réduit le temps de réponse du serveur Web lorsqu'il est mentionné (donc à chaque fois que le serveur Web est accessible, Apache ne parcourra pas tous les catalogues pour .htaccess); quelques commandes, par exemple, les commandes du module mod_rewrite, à de nombreux égards, fonctionnent mieux à partir du dossier de conception principal.

Quoi qu'il en soit, tous les clients du serveur ne peuvent pas approcher ce document (par exemple, en raison de la facilitation partagée), donc le reste se voit offrir un enregistrement d'arrangement de serveur Web supplémentaire - .htaccess (avec un tampon vers le début de la nom).

Table des matières


  1. Que signifie .htaccess
  2. Comment créer un fichier .htaccess
  3. Syntaxe .htaccess
  4. .htaccess opportunités
  5. Contrôle d'accès
  6. Travailler avec des erreurs de serveur Web
  7. Ajustement de la redirection 301 dans htaccess
  8. module de redirection de réécriture de mod
  9. Définition de l'encodage
  10. Autres opportunités
  11. Si .htaccess ne fonctionne pas
  12. Quelques conseils supplémentaires sur l'utilisation de .htaccess
  13. Liens utiles

Qu'est-ce que le .htaccess et à quoi sert-il?


Le fichier (ou les fichiers) .htaccess définira les règles du serveur Web uniquement dans le répertoire où il se trouve et ses répertoires enfants, sans changements globaux dans le fonctionnement de l'ensemble du serveur. La possibilité d'utiliser .htaccess est prescrite par une directive (c'est-à-dire une commande) - AllowOverride - dans le fichier de configuration principal httpd.conf, dont le nom indique directement que les paramètres dans .htaccess ont priorité sur les paramètres dans httpd.conf (sauf indication contraire par la même directive AllowOverride). Avec cette directive, vous pouvez tout autoriser, et vous pouvez - juste quelques actions. Des instructions détaillées sur son utilisation sont disponibles sur le site Web d'Apache.

Avec cela, chaque fois qu'un serveur Web est accédé, Apache analysera tous les répertoires pour .htaccess. Les modifications dans le fichier sont valides immédiatement après l'enregistrement - le redémarrage de l'ensemble du serveur Web n'est pas nécessaire (contrairement aux modifications dans httpd.conf).

Le nom du fichier .htaccess est courant, mais pas du tout obligatoire. Vous pouvez définir un nom différent dans httpd.conf à l'aide de la directive AccessFileName, par exemple:

AccessFileName .config

Comment créer un fichier .htaccess


Comme déjà mentionné, les fichiers de configuration ont un format texte et vous pouvez également créer .htaccess à l'aide d'un éditeur de texte (par exemple, le Bloc-notes ou le Bloc-notes ++ sous Windows).

Le nom du fichier est .htaccess (avec un point au début);

type - «Tous les fichiers»;

habillage de mots;

Mode ASCII (lors du téléchargement de .htaccess vers un hébergement utilisant un protocole FTP).

Apache est un serveur Web sensible à la casse, il est donc important d'écrire le nom en petites lettres: .HTaccess et .htaccess sont des fichiers différents.

Les fichiers Mac OS commençant par un point sont invisibles. Par conséquent, vous pouvez l'appeler différemment et, après le transfert via FTP vers l'hébergement, le renommer. Habituellement, ils placent le fichier dans le répertoire racine du serveur Web (/ public_html) ou dans le répertoire racine du site (/public_html/site.com/).

Syntaxe .htaccess


La syntaxe .htaccess est similaire à la syntaxe httpd. Pour chaque directive, une ligne distincte est supposée. Pour votre commodité, vous pouvez ajouter des commentaires au fichier à l'aide du signe # et la valeur après # sera ignorée par le serveur Web. Cette astuce peut être utilisée pour désactiver n'importe quelle directive. Il n'est pas nécessaire de le supprimer complètement du fichier - il suffit de le commenter.

Les possibilités du fichier de configuration sont énormes. Vous trouverez ci-dessous les paramètres de base dans .htaccess.

.htaccess opportunités


Contrôle d'accès


Interdiction d'accès au Web:

Ordre Refuser, Autoriser
Refuser de tout

Interdiction d'accès au Web, sauf pour IP:

order deny, allow deny from all allow from xxx.xxx.xxx.xxx 

Interdiction d'accès Web pour IP:

 Order allow, deny Allow from all Deny from xxx.xxx.xxx.xxx 

Interdiction d'accès aux fichiers:

 <Files private.html > Order allow, deny Deny from all 

Sécurité de l'annuaire avec le mot de passe:

 AuthType Basic AuthName "Directory Name" AuthUserFile /home/cpanel_user/.htpasswds/public_html/smth/passwd require valid-user # where AuthName "Directory Name is the secured directory name, nd # /home/cpanel_user/.htpasswds/public_html/smth/passwd is the file location with the password. 

Travailler avec les erreurs du serveur Web


Parfois, au lieu de la page attendue, un visiteur peut rencontrer une réponse du serveur Web sous la forme d'une erreur avec une explication concise, mais pas toujours claire pour un simple utilisateur, de la raison. Une liste complète des codes d'état peut être trouvée sur Wikipedia. Pour les plus courantes (par exemple, les erreurs 404 ou 500), il est souhaitable de créer votre propre page qui ressemble mieux et présente l'itinéraire de sortie au visiteur. Il est défini comme suit:

ErrorDocument 404 votredomaine.com/error/404.html
# où votredomaine.com/erreur/404.html est le chemin d'accès à la page créée.

Ajustement de la redirection 301 dans htaccess


Pour créer une redirection permanente, la directive 301 redirect est utilisée, qui transfère tout le poids de la page vers une nouvelle URL (il est donc préférable à une redirection 302 à des fins de référencement).

Rediriger l'ensemble du site vers un nouveau domaine:

 Redirect 301 / http://www.newdomain.com/ 

Rediriger la page vers une nouvelle:

 Redirect 301 /page1.html http://mydomain.com/page2.html 

Module de redirection de réécriture de mod


Le module mod_rewrite est un mécanisme indispensable pour changer les URL «à la volée». Son utilité, et en même temps, la difficulté réside dans le fait que vous pouvez utiliser une myriade de règles qui incluent encore plus de variables.

Pour que le module fonctionne, nous avons d'abord besoin de directives

RewriteEngine On (inclut le moteur de conversion)

Options FollowSymLinks (condition d'opération mod_rewrite).

Si l'administrateur du serveur a désactivé cette option pour le répertoire utilisateur, le mécanisme de conversion ne peut pas être utilisé. Cette restriction est imposée aux serveurs d'hébergement virtuels à des fins de sécurité.

Pour en savoir plus sur le module, nous vous recommandons de vous référer à la source.

RewriteRule


L'une des directives les plus fonctionnelles du module mod_rewrite est la RewriteRule. Pour spécifier la condition dans laquelle la règle fonctionnera, la directive RewriteCond est utilisée. Il (un ou plusieurs) doit être prescrit avant la RewriteRule.

Rediriger la page vers un nouveau domaine:

 RewriteRule ^ page1 \ .html $ http://newdomain.com/ [R = 301] 

Rediriger un site d'un domaine sans www vers un domaine depuis www:

 RewriteEngine On RewriteCond% {HTTP_HOST}! ^ Www \ .. * [NC] RewriteRule ^ (. *) Http: //www.% {HTTP_HOST} / $ 1 [R = 301] 

Et vice versa:

 RewriteCond% {HTTP_HOST} ^ www \. (. *) $ [NC] RewriteRule ^ (. *) $ Http: //% 1 / $ 1 [R = 301, L] 

Redirection HTTPS (vous devez d'abord installer un certificat HTTPS):

 RewriteEngine On RewriteCond% {https}! On RewriteRule (. *) Https: //% {HTTP_HOST}% {REQUEST_URI} [R = 301, L] 

Ces lignes doivent être placées tout en haut de .htaccess.

Définir l'encodage


La table des symboles dans laquelle ouvrir le site est déterminée par le navigateur. Cependant, vous pouvez définir l'encodage par défaut:

 AddDefaultCharset UTF-8 

Une telle modification s'applique au sein de .htaccess et à toutes les pages du site. Vous pouvez définir l'encodage pour un type de fichier spécifique, par exemple windows-1251 pour html:

 AddType "application / x-httpd-php3; charset = windows-1251" .html 

Souvent, la page elle-même contient en elle-même (à savoir dans le titre) des informations sur l'encodage utilisé. Il est nécessaire de vérifier que l'encodage spécifié dans le document et dans le fichier de configuration correspond. L'utf-8 donné ici est presque toujours requis lorsque vous travaillez avec des cms populaires, car ils sont conçus pour un large éventail d'utilisateurs à travers le monde. Par ailleurs, par défaut, le même encodage est configuré sur nos serveurs d'hébergement partagés.

Autres opportunités


- Déterminez le fichier d'index du site:

Par défaut, la page d'index est considérée comme index.html. À l'aide de la directive suivante, vous pouvez spécifier un autre nom de fichier qui se détache en premier lors de l'accès au répertoire:

DirectoryIndex index.php

- Une directive utile est FilesMatch, qui spécifie les limites de la règle par nom de fichier à l'aide d'expressions régulières. Avec son aide, par exemple, vous pouvez refuser l'accès à certains fichiers:

 <FilesMatch "\. (htaccess | htpasswd | ini | phps | fla | psd | log | sh) $"> Order Allow, Deny Deny from all </ FilesMatch> 

Certaines directives ne sont pas prises en charge sur nos serveurs d'hébergement partagé, mais vous pouvez les autoriser sur votre VPS, par exemple.

La raison en est que le serveur Web fonctionnant en tant que suPHP ne prend pas en charge php_flag et php_value. Par conséquent, nous vous suggérons d'utiliser cPanel (la sous-section «Choisir une version PHP» est extrêmement utile, pour travailler avec error_log - «Error Log») ou de créer un fichier php.ini local à cet effet. Nous avons apporté quelques directives ci-dessous:

- Afin d'éviter un gel du serveur Web lors du traitement de scripts mal écrits, il y a max_execution_time. Avec son aide, le temps en secondes alloué au traitement du script PHP est indiqué. Vous pouvez augmenter le délai d'expiration du serveur Web lors de l'exécution du script:

 php_value max_execution_time 60 

- Déterminez la taille maximale du fichier de téléchargement:

 php_value upload_max_filesize 128M (here, instead of 128, put the desired value) 

- Imprimer les erreurs PHP dans un fichier séparé:

 php_flag log_errors on php_value error_log /home/path/to/public_html/domain/PHP_errors.log # PHP_errors.log is the name of the file, and # / home / path / to / public_html / domain - the path to it). 

PS Sur un hébergement partagé, il est difficile de déterminer avec précision les directives qui fonctionneront dans .htaccess, car bon nombre de celles qui conduisent à un changement de configuration du serveur Web sont interdites pour des raisons évidentes - ces changements affecteront tous les utilisateurs sur le support.

Si .htaccess ne fonctionne pas


Vous pouvez vérifier le fonctionnement du fichier en écrivant des directives simples qui, avec la syntaxe correcte et les paramètres httpd corrects (comme décrit au début de l'article) devraient fonctionner:

- par exemple, en refusant l'accès au site depuis l'extérieur à l'aide d'une directive

 Order deny, allow Deny from all 

- ou écrire dans le fichier un ensemble de caractères dénués de sens qui ne sont pas des directives. Si le serveur Web interagit avec htaccess, alors, bien sûr, il ne pourra pas les lire et donner 500 erreurs.

Si le problème existe vraiment, vous devez d'abord rechercher la cause dans le fichier de configuration principal:

- assurez-vous que le serveur autorise l'utilisation du fichier .htaccess: il existe une entrée AllowOverride All (et elle n'est pas commentée avec #);

- vérifiez qu'une entrée VirtualHost a été créée pour le domaine. A titre d'exemple:

 <VirtualHost *: 80> DocumentRoot / www / example1 ServerName www.example.com # Other directives </ Virtualhost> 

- le nom du fichier de configuration supplémentaire est indiqué selon vos besoins. Si c'est .htaccess, alors:

 AccessFileName .htaccess 

- le nom d'hôte du serveur est présent (spécifié lors de la création de redirections d'URL) comme adresse IP du serveur ou du domaine:

 ServerName www.example.com 

Si la raison n'est pas dans httpd, vous devez vérifier .htaccess lui-même pour les erreurs de syntaxe. Vous pouvez utiliser les services en ligne (par exemple, www.htaccesscheck.com , htaccess.madewithlove.be ), ou - la source d'origine, où il y a une liste complète des directives, ainsi que la syntaxe.

Quelques conseils supplémentaires sur l'utilisation de .htaccess


Il est hautement souhaitable de faire une copie de sauvegarde du fichier avant toute modification, afin qu'au pire résultat vous puissiez «annuler» les modifications.

Nous vous recommandons d'effectuer des modifications étape par étape, en utilisant un minimum de directives - et en cas d'échec, il sera plus facile de calculer quelle règle a causé l'erreur.

Bien que les modifications prennent effet immédiatement, le cache du navigateur n'a pas été annulé - pour vérifier le travail du site après avoir édité .htaccess, utilisez-le pour le nettoyer régulièrement ou chargez la page pour contourner le cache - via la combinaison de touches Ctrl + F5 (dans Safari: Ctrl + R, sur Mac OS: Cmd + R).

L'erreur de serveur Web la plus courante lors de l'utilisation de .htaccess est 500, et soit elle indique un problème de syntaxe (faute de frappe dans une directive, par exemple), soit ce type de directive n'est pas autorisé dans le fichier de configuration principal.

Liens utiles


Inspiration pour travailler avec .htaccess :
httpd.apache.org/docs/2.2/howto/htaccess.html
De nombreuses instructions pour travailler avec .htacess :
htaccess.net.ru
Plateforme de blogs pour les programmeurs :
writeabout.tech
Générateur de directives simple pour .htaccess :
htaccess.ru/generator

Dans le cas où le fichier .htaccess ne vous suffit pas pour apporter des modifications dans le fichier de configuration du serveur Web, vous pouvez louer un serveur alloué en Europe ou aux États-Unis. Ces serveurs peuvent vous offrir la possibilité de modifier les paramètres d'Apache.

acheter reddit upvotes
reddit acheter des votes
reddit upvotes
trafic reddit
trafic reddit
bot de trafic reddit
source de trafic reddit
logiciel de trafic reddit
upvote reddit
upvote reddit qu'est-ce que c'est
upvote reddit bot
upvote reddit post
upvote reddit acheter
upvote reddit là gì
application reddit upvote
upvote reddit mobile
échange de reddit upvote
reddit upvote downvote
reddit upvote bot gratuit
service reddit upvote
algorithme de reddit upvote
système reddit upvote
groupe reddit upvote
reddit upvote bot en ligne
vote positif reddit
commentaires reddit upvoted
voté reddit mobile
reddit upvoted
message reddit voté
jusqu'à voter reddit
application reddit votée
reddit upvoting bot
service de vote ascendant reddit
reddit upvoting avec plusieurs comptes
reddit upvoting votre propre message
reddit upvoting du même ip
reddit upvoting et downvoting
reddit aime
reddit aime acheter
Reddit aime et n'aime pas
bot reddit
API Reddit Bot
code source du bot reddit
agent utilisateur du bot reddit
reddit bot discord
Évaluation du bot reddit
développement de bots reddit
reddit bot c #
automatisation du bot reddit
reddit bot python
test de bot reddit
reddit bot auto post
idées de bots reddit
reddit bot subreddit
reddit bot github
reddit bot upvote
comptes bot reddit
reddit bot ti
reddit upvote bot 2019
reddit upvote bot 2018
reddit upvotes bot
reddit upvote bot github
reddit upvote bot 2017
reddit upvote bot python
reddit votez pour votre propre message
reddit post bot upvote
voter mon message reddit
reddit vote positif propre message
reddit upvote downvote post
reddit upvotes acheter
système reddit upvote downvote
algorithme reddit upvote downvote
reddit upvote / downvote personnalisé
comment fonctionne le système reddit upvote
comment fonctionne le système reddit upvote
reddit nouveau système upvote
reddit upvote commentaires
reddit upvote bot
reddit upvote plusieurs comptes
reddit upvote et downvote
robot d'automatisation reddit
reddit bot python crevette
python reddit bot github
reddit bot test subreddit
reddit karma bot github
reddit downvote bot github
tldr bot reddit github
reddit bot upvoting
acheter reddit karma
comment obtenir des votes positifs sur reddit
comment acheter des votes positifs reddit
acheter un compte reddit
acheter des comptes reddit âgés
acheter des comptes reddit
acheter des votes positifs sur reddit
trafic reddit
marketing reddit
obtenir des votes positifs reddit
club de votes positifs
acheter des comptes reddit
upvotes. club
publicité reddit
reddit upvote bot
acheter reddit karma
annonces reddit
bot reddit
marketing reddit
reddit vendre des trucs
reddit upvote
reddit nouveau système de vote
payer pour les votes positifs reddit
reddit aime
reddit promouvoir youtube
reddit upvotes
upvote reddit
boostupvotes.com
acheter reddit downvotes
acheter des votes reddit
acheter des votes positifs reddit
comptes reddit à vendre
système de vote reddit
compte reddit acheter
acheter reddit upvote
acheter des comptes reddit à haut karma
acheter des votes positifs pour reddit
acheter un nouveau compte reddit
acheter reddit upvoats
acheter reddit upvoites
acheter des votes positifs
bot instantané reddit upvote en ligne
payé reddit upvotes
procurations privées pour les votes positifs reddit
reddit upvote bot en ligne
acheter un compte reddit à haut karma
acheter un ancien compte reddit
acheter un compte reddit avec karma
comptes reddit pas chers
karma reddit gratuit
comptes reddit gratuits avec karma
or reddit gratuit
obtenez des votes positifs reddit
obtenir le karma reddit
obtenir le karma reddit
comptes reddit à haut karma à vendre
comment obtenir du karma sur reddit
comment fonctionne le karma reddit
combien vaut mon compte reddit
comment obtenir plus de votes positifs sur reddit
comment obtenir le karma reddit
comment faire un subreddit
comment vendre sur reddit
comment utiliser reddit pour les entreprises
compte reddit acheter
vente de compte reddit
comptes reddit à vendre
reddit auto upvote
reddit acheter des comptes
reddit upvote bot
groupe reddit upvote
service reddit upvote
vendre sur reddit
système upvote
acheter reddit post
acheter des abonnés reddit
acheter vote positif
reddit upvotes pas cher
upvotes reddit gratuits
promotion sur reddit
publicité reddit
service de promotion reddit
acheter et vendre des comptes reddit
vendre un compte reddit pour de l'argent
comptes reddit de karma élevé
acheter bot reddit
acheter reddit upvote bot
bot reddit en ligne
bot en ligne reddit upvotes
acheter un compte avec karma
upvotes io
upvotes. io
boostupvotes com
boostupvotes com
acheter reddit upvotes
www.soar sh
monter en flèche sh
www.passthevote com
passthevote com
www.appsally com
appsally com
boostupvotes.com
boostupvotes
appsally
club de votes positifs
redditonfire. com
redditonfire
upvotes.space
Woorke. com

Source: https://habr.com/ru/post/fr460459/


All Articles