2017-10-15 3 views
4

J'ai une URL comme example.com/product-name.html.htaccess si l'URL contient une chaîne rediriger vers la page sans changer l'URL

Je veux rediriger toutes les URL contenant la chaîne html-search.php mais je veux garder l'URL d'origine qui a été tapé, donc si example.com/product-name.html a été redirigés vers search.php il devrait montrer encore example.com/product-name.html dans le navigateur.

J'utilise:

RewriteCond %{REQUEST_URI} html 
RewriteRule .* search.php 

qui réoriente, mais ne tient pas l'URL typé d'origine dans le navigateur.

Comment est-ce que je peux faire ceci?

+3

Ces deux lignes ne redirigent pas. La redirection se produit ailleurs. Vous devriez montrer votre .htaccess entier. – Rei

+0

Essayez d'utiliser 'RewriteRule (. *) /search.php [L]' et voyez si cela fonctionne pour vous –

+0

"Qui redirige mais ne conserve pas l'URL tapée d'origine dans le navigateur." - Quelle URL voyez-vous dans le navigateur? – MrWhite

Répondre

0

Essayez avec:

RewriteEngine on 
RewriteRule html search.php [NC,L] 

Si cela ne fonctionne pas, vous avez un autre problème dans .htaccess (S'il vous plaît indiquer dans son intégralité dans votre question) ou config.
Commencez par vider votre cache avant de tester. Ou essayez avec un autre navigateur.

0

Vous devez Proxy RewriteRule et mod_proxy

RewriteRule "/(.*)\.html$" "/search.php" [P]

Assurez-vous d'activer et de configurer mod_proxy correctement. La documentation mod_proxy peut être trouvée here.