Получить строку URL, введенную пользователем при использовании .htaccess - PullRequest
0 голосов
/ 10 февраля 2009

В настоящее время я использую файл htaccess для перенаправления пользователей с

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

до

 catid-XX-subcatid-xx-productid-xx

но теперь мне нужно проверить, что они пришли на правильную страницу. Я делаю это, проверяя правильность значений строки запроса. Однако я бы предпочел проверить, что пользователь достиг

 catid-XX-subcatid-xx-productid-xx 

, чтобы Google не индексировал дублированный контент.

Так что мне интересно, есть ли способ узнать строку из строки URL до перезаписи htaccess.

Если я на странице

 catid-XX-subcatid-xx-productid-xx

затем с помощью VBScript, если я проверю

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

Я получаю

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

Есть ли способ получить правильную строку URL?

Ответы [ 2 ]

1 голос
/ 10 февраля 2009

Переменная среды REQUEST_URI должна содержать запрошенный URI.


Вы можете попробовать использовать PATH_INFO и проанализировать запрошенный путь URI с ASP:

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

Запрошенный путь URI должен быть доступен в:

Request.ServerVariables("PATH_INFO")
0 голосов
/ 10 февраля 2009

Это напоминает мне что-то вроде этого;

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!!
...