2010-06-16 5 views
0

Je fais quelque chose de très simple avec mod_rewrite et il se comporte étrangement. Il se comporte comme si j'utilisais l'option [R], mais je ne le suis pas. Voici un test simple pour un fichier .htaccess:mod_rewrite - étrange [R] comportement

RewriteEngine on 
RewriteRule ^page1$ page2 

Cela devrait rediriger une demande de page1 à page2, mais laisser l'URL dans le navigateur Web pointant toujours à la page 1. Cela n'arrive pas cependant. Il passe en fait l'URL page2, comme si j'utilisais ce code:

RewriteRule ^page1$ page2 [R] 

Pourquoi fait-il cela? Ce n'est pas le comportement par défaut. J'utilise une machine pré-configurée que j'ai pour EC2, donc c'est probablement quelque chose dans la configuration apache que je ne connais pas. Googling a été futile. Aidez-moi?

Ceci est Apache 2.12 btw.

+1

Qu'est-ce que le journal de réécriture vous dit? –

+0

Lorsque j'active RewriteLog selon les spécifications (http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritelog), j'obtiens une erreur 500. Grrrr. – Tal

Répondre

0

Je l'ai réparé ... pas exactement sûr de ce que j'ai fait (doh!) Parce que j'ai été autour avec un tas. Je vais essayer de faire un travail d'investigation afin de pouvoir partager la solution.

Merci!

1

DirectorySlash est souvent le coupable. Si non, et aucune autre réécriture n'est faite, envisager d'utiliser [L]

+0

Merci! Malheureusement, ce n'est pas ça ... d'autres idées? – Tal