Un "@import" de htaccess, possible ?

WRInaute accro
Bonjour

Dans le cadre d'un projet perso j'aimerais avoir la possibilité de "mutualiser" une partie de fichier htaccess de manière à n'avoir qu'un seul fichier physique à gérer mais étant utilisé sur x sous-répertoires (il s'agit de gérer les hotlinks d'image et je n'ai jamais réussi à prendre en charge les sous-répertoires correctement, sauf à leur claquer un htaccess propre)

Est-ce possible ?

À la manière d'un @import dans une feuille de style css en quelque sorte :roll:
 
WRInaute passionné
C'est possible de faire un include dans les fichiers de configuration httpd.conf.

Il faudrait essayer dans un fichier .htaccess qui reprend en partie la même syntaxe.

Je n'ai pas le temps de tester mais la réponse m'intéresse.
 
WRInaute accro
Merci


Je vais directement poser la question à mon hébergeur :wink: (si j'ai une réponse je vous tiens au jus !)
 
WRInaute accro
cedric_g a dit:
Est-ce possible ?

À la manière d'un @import dans une feuille de style css en quelque sorte :roll:

non cela n'existe pas.

Le fichier .htaccess est un fichier de configuration serveur. Il faut éviter de le charger en écriture puisqu'il est chargé à chaque chargement de page.
 
WRInaute impliqué
Essaie :

Code:
RewriteOptions inherit

Ca permet d'hériter les règles de réécriture des .htaccess dans les répertoires parents.
 
WRInaute accro
Par défaut cela hérite. Cette directive est faite en cas d'utilisation de repertoires virtuels uniquement.
 
WRInaute impliqué
Ben non.

inherit
This forces the current configuration to inherit the configuration of the parent. In per-virtual-server context this means that the maps, conditions and rules of the main server are inherited. In per-directory context this means that conditions and rules of the parent directory's .htaccess configuration are inherited.

Per-directory veut dire "utilisationj de .htaccess".

Par défaut ca n'hérite pas.

Et que tu aie raison pou pas, en mettant des règles dans un .htaccess à la racine on peut les partager entre polusieurs répertoires, ce qui me semble être le besoin de cedric_g. Si tu as raison il n'y a rien a faire, si j'ai raison il y a une petite ligne à ajouter.
 
WRInaute accro
Lorsqu'une url localisée dans un dossier est chargée:
- si le fichier .htaccess est inexistant dans le dossier -> Apache va charger le fichier .htaccess situé a racine du site.
d'ou cette notion d'héritage par defaut

Le probleme de cedric_g est d'apres ce que j'ai compris, de regrouper plusieurs fichiers .htaccess differents localisées dans des repertoires differents en 1 seul et à la racine du site.

C'est possible mais dangereux d'avoir un gros fichier .htaccess et (comme cedric_g parle de claquer un fichier .htaccess, je pense qu'il veut dire creer un fichier .htaccess dynamiquement) de se lancer dans une création de fichier .htaccess sur un serveur en production va facilement entrainer des problèmes de PROXY et des erreurs du serveur.

Tu pourrais donner le lien de la citation (inherit) pour voir le contexte ?? merci
 
WRInaute accro
Bonjour


En fait mon besoin est "simple" : pouvoir gérer une arborescence de répertoires complexe (2 à 3 niveau maxi néanmoins, mais possibilité de dizaines/centaires de répertoires) qui contiendraient des images.

L'objectif étant d'abord la protection contre le hotlink, avec possibilité d'ajouter à la volée des domaines/sites à "réguler" :wink:
 
WRInaute impliqué
KOogar a dit:
Lorsqu'une url localisée dans un dossier est chargée:
- si le fichier .htaccess est inexistant dans le dossier -> Apache va charger le fichier .htaccess situé a racine du site.
d'ou cette notion d'héritage par defaut

Le probleme de cedric_g est d'apres ce que j'ai compris, de regrouper plusieurs fichiers .htaccess differents localisées dans des repertoires differents en 1 seul et à la racine du site.

C'est possible mais dangereux d'avoir un gros fichier .htaccess et (comme cedric_g parle de claquer un fichier .htaccess, je pense qu'il veut dire creer un fichier .htaccess dynamiquement) de se lancer dans une création de fichier .htaccess sur un serveur en production va facilement entrainer des problèmes de PROXY et des erreurs du serveur.

Tu pourrais donner le lien de la citation (inherit) pour voir le contexte ?? merci

C'est tiré de la doc apache (mod_rewrite) :
http://httpd.apache.org/docs/2.0/mod/mo ... iteoptions

Quand inherit est activé, les règle des .htaccess des répertoires parents sont ajoutées à celles du .htaccess local.

Le comportement pas défaut est que les règles présentes dans les .htacess des répertoires parents sont ignorées s'il y a un .htaccess local. Il n'y a donc pas héritage par défaut.

Ce que j'ai compris du besoin de Cedric est d'avoir des règles génériques pour éviter le otlink par exemple. Ces règles pourraient etre mises dans un .htaccess à la racine. Ajouter l'héritage permet de ne pas avoir a recopier ces règles dans les .htaccess dans les sous répertoires.
 
Discussions similaires
Haut