2009-02-10 7 views
0

J'utilise actuellement un fichier htaccess pour rediriger les utilisateurs dela chaîne URL utilisateur est entré lors de l'utilisation .htaccess

detail.asp?CategoryID=XX&SubCategoryID=XX&ProductID=XX 

à

catid-XX-subcatid-xx-productid-xx 

mais je dois maintenant vérifier qu'ils ont arrivé à la bonne page. Je fais ceci en vérifiant que les valeurs de chaîne de requête sont correctes. Cependant, je préfère vérifier que l'utilisateur est arrivé à

catid-XX-subcatid-xx-productid-xx 

afin que Google n'indexe pas le contenu en double. Donc, ce que je me demande, c'est s'il y a un moyen de trouver la chaîne dans la barre d'URL avant la réécriture de htaccess.

Si je suis sur une page

catid-XX-subcatid-xx-productid-xx 

puis en utilisant VBScript, si je vérifie

Request.ServerVariables("URL") & Request.ServerVariables("QUERY_STRING") 

Je reçois

detail.asp?CategoryID=XX&SubCategoryID=XX&ProductID=XX 

Est-il possible d'obtenir l'URL correcte chaîne?

Répondre

0

Cela me rappelle quelque chose comme ceci;

var i = 1+1; 
/* lets double check to make sure the cpu has calculated it right.. 
    just in case, I mean, you never know... */ 

if (i != 2) return ZOMG END OF THE WORLD!! 
+0

pas tant, son Il est extrêmement important que seule l'URL soit l'URL finale, sinon Google indexerait 2 pages avec le même contenu. Cela provoque des sites à se faire berner par Google et si cela arrive beaucoup, il peut tuer les classements des moteurs de recherche. – ewengcameron

1

La variable d'environnement REQUEST_URI doit contenir l'URI demandée.


Vous pouvez essayer d'utiliser PATH_INFO et analyser le chemin URI demandé avec ASP:

RewriteRule !^detail\.asp detail.asp%{REQUEST_URI} [L] 

Le chemin URI demandé devrait alors être disponible en:

Request.ServerVariables("PATH_INFO") 
+0

Ce serait parfait mais malheureusement je suis bloqué en utilisant VBScript qui n'a pas de fonction équivalente. Cela aurait dû être clair dans la question. Merci! – ewengcameron

+0

C'est le serveur qui fournit cette variable d'environnement. Donc "Request.ServerVariables (" REQUEST_URI ")" ne fonctionne pas? – Gumbo

+0

Ouais, si je l'appelle en PHP, il retourne l'URI correct, mais il n'est pas supporté par ASP, donc retourne une chaîne vide. – ewengcameron

Questions connexes