2010-11-26 17 views
0

Exclure un ou plusieurs répertoires des règles de réécriture dans les fichiers .htaccess semble être une question courante. Cependant, mon .htaccess fait plus que simplement définir des règles de réécriture. J'ai également mis quelques changements de serveur (nous n'avons pas de suPHP sur ce serveur) aussi bien que de définir quelques préfixes de certains fichiers php. Par exemple, ces quelques exemples:Exclure un répertoire dans .htaccess (pas seulement des règles de réécriture)

# Make files ending in .php, .html and .xml files etc. parsed by php. 
    AddType application/x-httpd-php .php .html .xml .css .js .le .txt 

<FilesMatch "\.html$"> 
php_value auto_prepend_file "/home/2427/spwebsites/www.spwebsites.co.uk/incs/phps/config.php" 
</FilesMatch> 
# Internal Server Error 
ErrorDocument 500 /admin/errors.html?code=500 
RewriteEngine On 
RewriteRule ^([a-zA-Z0-9-]+)/$ $1.html [L] 

Je ne veux pas de ces défini pour un répertoire (où mon installation de presse de mot), est-il un moyen que je peux le faire? Puis-je définir une instruction conditionnelle pour l'ensemble du fichier .htaccess? L'ajout d'un fichier .htaccess vide dans le répertoire de presse de mot ne fonctionnera pas car cela ne défera pas les paramètres dans le répertoire parent.

Répondre

1

Je regardais juste votre dilemme et c'est un problème. Il serait bon de pouvoir avoir la directive DirectoryMatch disponible en .htaccess ...

Ce que vous pouvez essayer est de réinitialiser vos valeurs dans le répertoire spécifique via un autre fichier .htaccess. Par conséquent, dans le cas de AddType, il se peut que la réinitialisation de ".php" fonctionne (en supposant que les autres valeurs ne soient pas héritées). Certainement pas une solution idéale sans accès au fichier de configuration principal/hôte virtuel.

Voici une idée bizarre que vous pouvez essayer/test ... placer le répertoire « wordpress » en dehors de la racine principale (ou whereever vous avez le fichier .htaccess incriminé). Maintenant, acheminez toutes les requêtes vers le wordpress (répertoire interne) vers le répertoire externe. Je me demande si Apache n'utiliserait pas le .htaccess offensant étant donné que les demandes sont en cours de routage?

+0

Merci pour cela et désolé pour le retard de vous répondre. Réinitialiser le .htaccess peut être le seul moyen de le faire, mais cela va être une vraie peine à mettre en œuvre. J'essaierai de mettre en œuvre votre idée et de revenir vers vous. Sinon, n'y a-t-il vraiment pas d'autre moyen? – iagdotme

+0

J'ai réussi à réinitialiser les bits dans le fichier .htaccess que je pense. Je pense que votre solution sera la meilleure. Merci! – iagdotme