2009-02-10 5 views
0

настоящее время я использую файл Htaccess для перенаправления пользователей изПолучить URL строку введенную пользователем при использовании .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 строка?

ответ

0

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

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

не так много, его жизненно важно, что только URL-адрес является конечным URL, иначе Google будет индексировать 2 страницы с одним и тем же контентом. Это приводит к тому, что сайты будут отмечены Google, и, если это произойдет, это может привести к расторжению поисковых систем. – ewengcameron

1

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


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

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

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

Request.ServerVariables("PATH_INFO") 
+0

Это было бы прекрасно, но, к сожалению, я застрял, используя VBscript, который не имеет эквивалентной функции. Должно было сделать это ясно в вопросе. Благодаря! – ewengcameron

+0

Это сервер, который предоставляет эту переменную среды. Итак, «Request.ServerVariables (« REQUEST_URI ») не работает? – Gumbo

+0

Да, если я назову его в PHP, он вернет правильный URI, однако он не поддерживается в ASP, поэтому возвращает пустую строку. – ewengcameron