Comment faire une redirection en .htaccess sans changer la barre d'URL


Euroadams

Comment rediriger en interne une demande vers une page particulière à l'aide de .htaccess sans modifier la barre d'URL.

Exemple : Je souhaite rediriger toutes les erreurs 404 vers handle_controller.php.

J'ai fait ce qui suit :

RewriteCond %{REQUEST_FILENAME} !-d [NC
RewriteCond %{REQUEST_FILENAME} !-f  [NC]
RewriteRule (.*) handle_controller.php?p=$1 [NC, R]

C'est une redirection mais elle continue de mettre à jour la barre d'URL. Par exemple:

Je demande invalid.php il redirige vers handle_controller.php?p=invalid.php

Comment puis-je le rediriger en interne vers handle_controller.php tout en conservant la barre d'URL sur invalid.php

J'ai utilisé R=301 et R=302 mais cela ne fonctionne pas.

Croises

Utiliser:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) handle_controller.php?p=$1 [L]

[NC]N'est pas utile lorsqu'il n'y a pas de texte de comparaison.
Avec [R]c'est une redirection, sans seulement une réécriture.

Articles connexes


Changer d'URL dans le navigateur sans redirection avec htaccess

Heartfire J'ai cherché partout pour trouver la bonne solution / méthode mais je n'arrive pas à trouver quoi que ce soit qui fonctionne pour moi. J'ai même demandé à des amis et ils ont aidé mais aucun n'a prévalu. Ce que j'essaie de faire, c'est de changer l'U