2010-11-09 3 views
1

De temps en temps, je dois flouer avec mod_rewrite ou plutôt la redirection d'Apache. Maintenant, j'ai une tâche simple, qui me rend fou, parce que je ne peux pas le faire fonctionner:Apache Redirect ne fonctionne pas ...

Tout ce qui était sous /journal/(.*) est maintenant sous /blog/(.*).

C'est ce que j'ai maintenant:

RewriteEngine on 
RewriteBase/
RewriteRule ^/journal/([^/]+)$ /blog/$1 

S'il importe: c'est une installation drupal.

Répondre

2
  • Drupal a des règles de réécriture existantes dans .htaccess. Si vous placez vos règles en haut du fichier, les règles de Drupal peuvent les remplacer.
  • Je ne pense pas que vous voulez le départ / dans votre règle.
  • Si vous attendez que la règle redirige les personnes qui utilisent l'ancienne URL /blog/, vous vous trompez. Si c'est ce que vous essayez de faire, vous devrez effectuer une redirection, comme ceci:

.

RewriteEngine on 
RewriteBase/
RewriteRule ^journal/(.+)$ http://example.com/blog/$1 [R=301,L] 
1

puisque votre base de réécriture est/je pense que vous pouvez omettre le/devant le journal. alors essayez

RewriteRule^Journal/([^ /] +) $/blog/1

$ Aussi, si vous avez d'autres règles qui se produisent, vous pouvez ajouter [L] à la fin de l'instruction pour se assurer qu'aucun d'autres réécritons se produisent.

Questions connexes