2013-02-11 2 views
-1

У меня есть несколько веб-сайтов, которые могут извлечь выгоду из некоторой перезаписи URL-адресов. Я понимаю, что файл карты необходим, но поскольку данные являются динамическими, существует ли способ вызова из базы данных SQL вместо статического файла?Dynamic ISAPI ReWrite

Использование ISAPI Rewrite с помощью IIS7

например недружелюбно - www.domain.com/products.asp?prodID=1 Friendly - www.domain.com/products/Apples

Есть примеры или указатели будут оценены. благодарит заранее. C :-)

ответ

0

Одно из возможных решений заключается в том, чтобы сделать это с помощью пользовательского обработчика 404 ... когда пользователь попадает/продукты/яблоки, обработчик 404 подбирает его, выполняет поиск базы данных и сопоставляет ее с prodID = 1 и отображает нужное содержимое.

это не особенно элегантно, но он работает (я использовал его в прошлом, и до тех пор, как вы помните, такие вещи, как возвращение заголовков правильных ответов HTTP для содержания против подлинных 404 вы должны быть в порядке)

Наиболее люди в конечном итоге используют что-то вроде ISAPI_Rewrite

0

Создайте новую страницу .asp, которая извлекает продукт, используя имя URL-адреса продукта. Новая страница должна быть похожа на вашу существующую страницу products.asp, но вместо того, чтобы получать продукт с использованием идентификатора, вы получаете продукт с использованием уникального имени URL-адреса.

RewriteRule ^products/(.*)$ /productfromurlname.asp?urlname=$1 [NC,L] 

Таким образом:

/products/apples --> /productfromurlname.asp?urlname=apples 
/products/oranges --> /productfromurlname.asp?urlname=oranges