Inclure un autre fichier htaccess de .htaccess
Est-il possible de faire comprendre des règles à partir d'un autre fichier htaccess en .htaccess ?
.htaccess
RewriteEngine On
RewriteCond ...
RewriteRule ...
Include .htaccess1
.
.
Include .htaccess2
Faisant cela donne un 500. Comprennent pas autorisés ici
Est-il un moyen de faire cela ? Parce que j'ai besoin de cette assez mal.
- Il y aura seulement 1
.htacess
un emplacement de dossier - Oui, je le comprends. Mais peut-on inclure l'extérieur comme la manière dont c'est fait dans apache2.conf ? .htaccess dire Inclure htaccessfiles/
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas inclure des règles, des déclarations, des définitions, des directives ou d'autres fichiers à partir d'un fichier htaccess. Le
Include
directive ne peut pas être utilisé à l'intérieur d'un fichier htaccess. Une partie de la pointe d'un fichier htaccess est à agir de même à un<Directory>
bloc mais être autonomes et incapables d'accéder à des choses en dehors du répertoire lui-même (sous-répertoires sont ok) mais plus précisément de rien en dehors de la racine du document. De cette façon, quelqu'un de le faire malveillants les choses ne seront pas en mesure de point de demandes ou inclure des fichiers/contenu à partir d'autres répertoires en piratant le fichier htaccess.Dans le champ d'application de mod_rewrite plus précisément, il existe des options pour la
RewriteOptions
qui permettent héritant des règles de réécriture à partir du fichier htaccess à partir d'un répertoire parent, mais rien d'arbitraire et comprennent les règles de n'importe où.Je sais que cela peut être un peu en retard, mais au lieu de cela, si vous essayez de mettre en œuvre un ban IP, ou un autre type de dynamique de la règle de contenu, de l'utilisation de la toute dernière règle dans votre .fichier htaccess à la point de la demande à un seul .php ou similaire languaged script qui exécute cette fonction (votre script peut charger la dynamique des règles dans votre propre format et de prendre la même décision que Apache aurait selon ce que votre tente réellement accomplir) transmet ensuite la demande à la page demandée. Il ajoute une couche à l'ensemble de la demande de traitement, mais donne la même fonction dynamique à toutes les pages, sans la nécessité de générer directement des règles du serveur et de tenter de Apache de prendre les décisions pour vous.
Juste pensé que je voudrais ajouter cette pensée pour quelqu'un d'autre qui peut tomber sur ce post à la recherche de quelque chose de similaire.
Il est possible - en 2 ou 3 étapes...
Créer votre fichier d'adresses ip à Nier. Il pourrait être un .fichier php, .fichier txt, même .fichier csv.
Créer un .php (ou la langue de votre choix) de script, dont le but est de sortie un fichier nommé ".htaccess".
Chaque fois que vous mettez à jour votre fichier d'adresses ip à Nier, exécutez le dit 2) .script php, et la sortie d'un nouveau .htaccess, pour chacun de vos Domaines.
Si vous avez des déclarations IPs de Refuser, de coder en dur dans votre .script php pour la sortie de la première. Voir https://www.askapache.com/htaccess/
L' .script php peut génériquement ressembler à:
Ensuite, lorsque vous êtes prêt pour le NIER partie:
Puis écrire le fichier: (vous avez probablement un moyen standard):
Si vous avez plus d'un Domaine, puis disposez d'un Tableau de ceux du nom de Domaine du chemin, et foreach ce Tableau, et fwrite pour chaque chemin.
Si certains Domaines ont déjà .htaccess exigences, placez-le dans un lisible .fichier txt... faire un file_get_contents(sur), sortie"=", ajouter le "Refuser du, puis sortie". = ..." à chaque fois dans un "foreach()" de la boucle.
De toute façon... vous avez fait toutes ces choses avant... il suffit d'appliquer chaque technique de ce scénario.
Un .fichier htaccess ne peut pas "include()" d'autres fichiers, mais un .script php peut, et .les scripts php peuvent fichiers de sortie nommé ".htaccess", qui peut être construit par le script.
La méthode ci-dessus fonctionne, et j'ai commencé à le faire quand j'en avais besoin pour créer des lignes de "RewriteRule" pour chacun de mes catalogue de produits! Chaque fois que j'ajoute un nouveau produit, je lance mon script qui génère un nouveau .fichier htaccess... construit à partir de ma table SQL de produits. Semblable à mon .script php qui "fwrite"s mon sitemap.xml.
(J'espère que non .php ponctuation ou "$"s s'est perdu dans cette frappe.)
Vous pouvez créer de script côté serveur comme PHP ".htaccess.php" et à l'intérieur de mettre votre comprend. Bien sûr, vous devez configurer apache:
AccessFileName .htaccess.php