2010-07-29 6 views
1

J'ai essayé de le faire de plusieurs façons, mais je ne peux vraiment pas exclure le répertoire "progression" des règles de réécriture de wordpress dans .htaccess. J'ai trouvé beaucoup de solutions mais aucune d'entre elles ne semble fonctionner. .htaccess dans le répertoire racine de wp contient:Impossible d'exclure le répertoire des règles de réécriture

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

</IfModule> 

# END WordPress 

J'ai essayé d'utiliser

RewriteCond %{REQUEST_URI} !^/(progress/.*)$ 

et

RewriteRule ^progress($|/) - [L] 

et

RewriteCond %{REQUEST_URI} !^/?(admin|progress)/ 

et j'ai même essayé de mettre Alias ​​/ progres s/home/site/progression vers httpd.conf mais cela ne fonctionne toujours pas correctement. Sûrement, mod_rewrite est installé et fonctionne, il me redirige vers index.php qui montre l'erreur 404 quand j'essaye d'accéder au répertoire ...

Répondre

1

Le répertoire progress existe-t-il réellement? Qu'y a-t-il dedans?

Où placez-vous le code que vous avez fourni dans le contexte du .htaccess?

La ligne RewriteCond %{REQUEST_FILENAME} !-d signifiera que la règle de réécriture est ignorée si la demande est convertie en un répertoire réel.

2

Vos deux tentatives devraient fonctionner correctement. Comme les règles sont testées de manière séquentielle, vous devez mettre le cas exceptionnel devant votre règle Wordpress existant:

RewriteRule ^progress($|/) - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

ou lorsque vous utilisez la condition supplémentaire (bon ok, voici l'ordre des conditions n'a pas d'importance car ils tous doivent être remplies):

RewriteCond %{REQUEST_URI} !^/(admin|progress)/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
3

de here.

#Change 
RewriteRule . /index.php [L] 

#to: 
RewriteRule ./ /index.php [L] 
0

Au lieu de suivre le .htaccess

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

</IfModule> 

# END WordPress 

Utilisez le nom du dossier que vous voulez exclure de la règle wordpress htaccess comme RewriteBase, essayez donc essentiellement l'écriture suivante dans le fichier .htaccess pour le dossier « FOLDER_NAME "

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /FOLDER_NAME 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

</IfModule> 

# END WordPress 

Et placer ce fichier .htaccess dans le dossier avec le nom "FOLDER_NAME". Permettez-moi de savoir si cela fonctionne.

Questions connexes