Подтвердить что ты не робот

Настройка перенаправления в файле web.config

Я пытаюсь перенаправить некоторые недружественные URL-адреса с более описательными. Эти URL-адреса заканчиваются на .aspx?cid=3916, причем последние цифры различаются для каждой страницы имен категорий. Я хочу, чтобы он перенаправлялся на Category/CategoryName/3916. Я пробовал это в файле web.config:

<location path="Category.aspx?cid=3916">
<system.webServer>
  <httpRedirect enabled="true" destination="http://www.site.com/Category/CategoryName/3916" httpResponseStatus="Permanent" />
</system.webServer>

но поскольку это не закончилось просто расширением, оно не сработало. Есть ли простой способ заставить это работать? Я использую IIS 7.5.

4b9b3361

Ответ 1

  • Откройте файл web.config в каталоге , где находятся старые страницы
  • Затем добавьте код для старого пути местоположения и нового адресата следующим образом:

    <configuration>
      <location path="services.htm">
        <system.webServer>
          <httpRedirect enabled="true" destination="http://domain.com/services" httpResponseStatus="Permanent" />
        </system.webServer>
      </location>
      <location path="products.htm">
        <system.webServer>
          <httpRedirect enabled="true" destination="http://domain.com/products" httpResponseStatus="Permanent" />
        </system.webServer>
      </location>
    </configuration>
    

При необходимости вы можете добавить столько путей пути.

Ответ 2

Вероятно, вы захотите посмотреть что-то вроде URL Rewrite, чтобы переписать URL-адреса на более удобные для пользователя, а не простое httpRedirect. Тогда вы можете сделать правило следующим образом:

<system.webServer>
  <rewrite>
    <rules>
      <rule name="Rewrite to Category">
        <match url="^Category/([_0-9a-z-]+)/([_0-9a-z-]+)" />
        <action type="Rewrite" url="category.aspx?cid={R:2}" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>