Проблемы с использованием перезаписи URL в IIS7 для удобных URL - PullRequest
0 голосов
/ 27 сентября 2011

Я пытаюсь создать некоторые правила перезаписи на моем сервере IIS7 с помощью перезаписи URL. Например, у меня есть URL-адрес mydomain.com/data.php?id=1, и я хочу преобразовать его в mydomain.com/archive/1

В настоящее время у меня есть:

    <rule name="Ugly to friendly" stopProcessing="true">
  <match url="^data\.php$" />
  <conditions>
      <add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" />
      <add input="{QUERY_STRING}" pattern="^([^=&amp;]+)=([^=&amp;]+)$" />
  </conditions>
  <action type="Redirect" url="archive/{C:2}" appendQueryString="false" /> 
</rule>

<rule name="Friendly to ugly" stopProcessing="true">
  <match url="archive/(.+)" />
  <conditions>
      <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
      <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
  </conditions>
  <action type="Rewrite" url="data.php?id={R:1}" />
</rule>

но это не работает (читается как "страница показывает нормально без этого правила, но когда правило добавлено, css / imgs не отображаются). Странно, как firebug говорит мне, что все в порядке (200 ОК) (может быть, это тоже запутывается?)

Привет

1 Ответ

0 голосов
/ 28 сентября 2011

Извините, код в порядке. Моя страница (data.php) неверна. Вместо того, чтобы все imgs / css использовали относительные пути из файла php, я должен был написать те, которые используют относительные пути из корня.

Я имею в виду, вместо "img src =" ../../ test.jpg "я должен был написать" img src = "/ folder1 / fol".

Обратите внимание на "/" в начале пути.

...