2009-01-26 9 views
1

J'ai la RewriteRule suivante dans mon .htaccess:.htaccess - réécrire puis cacher une partie de l'URL?

RewriteRule ^products/([A-Za-z0-9-\s\@]+)/([A-Za-z0-9-\s\@]+)/?$ /store/products/product.php?prod=$1&src=$2 [L,QSA] 

Il faut une URL telle que:

http://example.com/store/products/lawnmower/blogThatLovesUs 

et montre la page ici:

http://example.com/store/products/product.php?prod=lawnmower&src=blogThatLovesUs 

est-il un moyen Je peux éditer ce RewriteRule de sorte que l'utilisateur voit juste

http://example.com/store/products/lawnmower/(sans blogThatLovesUs) 

dans leur barre d'adresse?

Répondre

1

Bien sûr, vous pouvez le faire, mais vous perdrez l'ID de votre affilié (blogThatLovesUs) dans le processus. Vous pouvez utiliser votre URL d'origine pour rediriger comme vous le faites, puis avoir la page résultante (product.php) mettre en cache la valeur d'affilié en session et ensuite effectuer une redirection standard en PHP (avec header()) vers l'URL mise à jour sans la valeur d'affiliation. Cela a-t-il du sens?

Je veux illustrer être plus clair:

URL: http://photojojo.com/store/products/lawnmower/blogThatLovesUs

par RewriteRule vous vous retrouvez avec:

URL: http://photojojo.com/store/products/product.php?prod=lawnmower&src=blogThatLovesUs

À ce stade, dans product.php vous stockez blogThatLovesUs hors session quelque part et puis:

<?php 
    header("Location: http://photojojo.com/store/products/lawnmower/"); 
?> 

Pour obtenir le navigateur à l'URL que vous le souhaitez.

+0

J'ai bien travaillé, merci! Je devais juste faire la redirection via jscript au lieu de php parce que je devais d'abord exécuter quelques google analytics via javascript sur la référence. – Susan

Questions connexes