Voici mon fichier .htaccess:.htaccess avec GET params se heurtant
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* ?p=$0
qui devrait rediriger vers mysite.com/?p=request
que si request
est pas un fichier. Mais, il correspond mal à une demande comme http://mysite.com/auth.php?openid.ns=http%3A%2F
en raison du %2F
(auth.php existe). Je ne comprends pas pourquoi ça fout les choses ... des idées?
Edit: Les gars, je mets l'accent sur %2F
(ce qui est une barre oblique BTW) car il fonctionne très bien quand ce caractère est pas là
Pour être clair,
I obtenir un 404 pour cette page: http://mysite.com/auth.php?openid.ns=http%3A%2F
mais pas cette page: http://mysite.com/auth.php?openid.ns=http%3A
Juste pour info, j'ai vraiment vissé cette question. C'est une erreur 403 qui s'est produite à chaque fois que% 2F est apparu dans l'URL. Mon application a attrapé cette erreur et cracher un 404 trompeur qui pourrait être moins effrayant pour l'utilisateur final. Vraiment n'avait rien à voir avec .htaccess après tout. Plus de détails dans ma réponse ci-dessous.
Vous pouvez activer des journaux de réécriture très verbeux et peut-être poster les parties pertinentes ici afin que nous puissions voir ce qui se passe pour un fait. – kch
Puis-je activer le verbeux via .htaccess? Je suis sur un serveur partagé, je n'ai pas accès à tous les paramètres d'apache amusants (et je suis et apache n00b) – mpen