Roland M Smith Ответов: 1

Мне нужна помощь с правилом перезаписи URL-адреса


Сначала немного фона, я написал расширение ISAPI на C, которое превращает PowerBuilder (язык настольных приложений) в веб-язык.

Я пытаюсь создать правило перезаписи URL-адресов, чтобы поддерживать шаблон REST friendly URL.

Это URL-адрес, который я пытаюсь найти:
http://localhost/topwizweb/api/resttest/one/two/three

Это тот результат, которого я хочу:
http://localhost/topwizweb/api/resttest.pb/one/two/three

Обратите внимание, что .pb-это расширение файла, которое я использую для кода PowerBuilder.

Что я уже пробовал:

Вот мое правило в настоящее время:

Шаблон: /api/(.*)
Перепишите URL: {HTTP_HOST}/{R:0}/{R:1}.pb

Неверный результат, который я получаю:
http://localhost:80/localhost/api/resttest/one/two/three/resttest/one/two/three.pb

1 Ответов

Рейтинг:
1

Richard Deeming

{R:0} это вся входная строка, которая включает в себя {R:1} и хозяин дома.

{R:1} соответствует всему URL-адресу после /api/ Это заканчивается тем, что three, нет resttest, таким образом, вы в конечном итоге добавляете .pb в неправильном месте.

Попробуй:

  • Шаблон: ^api/([^/]+)/(.*)$
  • Переписать URL-адрес: api/{R:1}.pb/{R:2}


Roland M Smith

Это не работает. Файл .pb вообще не отображается.