Поддержка правил перезаписи URL в IIS 7 - PullRequest
0 голосов
/ 10 июля 2019

Я хотел бы взять следующий URL

http://MYSERVER/API_Tasks/V1/controller/task.php?taskid=2

и перепишите его: http://MYSERVER/API_Tasks/V1/tasks/2

У меня создано следующее правило, но оно не работает

<rewrite>
  <rules>
    <rule name="Imported Rule 1" stopProcessing="true">
      <match url="^tasks/([0-9]+)$" ignoreCase="false" />
      <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
      </conditions>
      <action type="Rewrite" url="controller/task.php?taskid={R:1}" appendQueryString="false" />
    </rule>
  </rules>
</rewrite>

оригинальные правила Apache .htaccess

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^tasks/([0-9]+)$ controller/task.php?taskid=$1 [L]

1 Ответ

0 голосов
/ 10 июля 2019

Проблема на самом деле была вызвана тем, что правило в IIS помещалось в каталог API_Tasks, а не в каталог API_Tasks / V1.Добавление правила URL к V1 устранило проблему.

...