переписывание URL в iis7 - PullRequest
       3

переписывание URL в iis7

2 голосов
/ 05 апреля 2011

Я использую IIS7.5 и модуль перезаписи URL.

Я следовал этим пошаговым инструкциям, чтобы включить удобные для пользователя URL:

Шаблоны правил для модуля перезаписи URL - Удобный для пользователя URL - шаблон правила

Если я введу URL http://domain.com/default/ вместо http://domain.com/default.aspx, сайт выдаст 404: file not found error.

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

<rewrite>
  <rules>
    <rule name="RedirectUserFriendlyURL1" stopProcessing="true">
      <match url="^demourl\.dev\.asenetechdev1\.com/default\.aspx$" />
      <conditions>
        <add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" />
      </conditions>
      <action type="Redirect" url="demourl.dev.asenetechdev1.com/default" 
              appendQueryString="false" />
    </rule>
    <rule name="RewriteUserFriendlyURL1" stopProcessing="true">
      <match url="^demourl\.dev\.asenetechdev1\.com/default$" />
      <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="false" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="false" />
      </conditions>
      <action type="Rewrite" url="demourl.dev.asenetechdev1.com/default.aspx" />
    </rule>
  </rules>
  <outboundRules>
    <rule name="OutboundRewriteUserFriendlyURL1" preCondition="ResponseIsHtml1">
      <match filterByTags="A, Form, Img"
             pattern="^(.*)demourl\.dev\.asenetechdev1\.com/default\.aspx$" />
      <action type="Rewrite" value="{R:1}/ demourl.dev.asenetechdev1.com/default" />
    </rule>
    <preConditions>
      <preCondition name="ResponseIsHtml1">
        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
      </preCondition>
    </preConditions>
  </outboundRules>
</rewrite>

Я также пытался использовать Intelligencia.UrlRewriter с этим. Но я могу генерировать дружественные URL-адреса как на локальном, так и на сервере, но мне нужен URL-адрес без расширения, который работает нормально на моем локальном сервере, но не на реальном сервере.

1 Ответ

1 голос
/ 06 апреля 2011

Ваш шаблон в настоящее время не соответствует / по умолчанию /. Это только соответствует / по умолчанию

Изменение

<match url="^demourl\.dev\.asenetechdev1\.com/default$" />

до

<match url="^demourl\.dev\.asenetechdev1\.com/default/{0,1}$" />

должен это сделать.

...