URL重写无法正常更改(/ blog / category /)到(/)

问题描述 投票:0回答:1

在web配置中,我编写了以下代码

 <system.webServer>
    <rewrite>
      <rules>
        <rule name="catalogsmain" stopProcessing="true">
          <match url="\/blog\/category\/" />
          <action type="Redirect" url="/" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>

也试过

<system.webServer>
    <rewrite>
      <rules>
        <rule name="catalogsmain" stopProcessing="true" patternSyntax="ExactMatch">
          <match url="/blog/category/" />
          <action type="Redirect" url="/" />
        </rule>        
      </rules>
    </rewrite>
  </system.webServer>

当我浏览网址为http://localhost:55390/blog/category/healthy-living-and-advice

它没有改变

http://localhost:55390/healthy-living-and-advice

我怎样才能重写网址?

我想改变

http://mitesh.com/blog/category/healthy-living-and-advice

http://mitesh.com/healthy-living-and-advice

c# asp.net url-rewriting nopcommerce
1个回答
0
投票

你需要捕获blog/category背后的网址部分。另外我不确定url在开始时是否包含斜线。所以试试吧

<system.webServer>
 <rewrite>
  <rules>
    <rule name="catalogsmain" stopProcessing="true">
      <match url="\/?blog\/category\/(.*)" />
      <action type="Redirect" url="/{R:1}" />
    </rule>
  </rules>
 </rewrite>
</system.webServer>

正则表达式中的问号就在那里,因为我不确定斜线。但原则是你捕获了网址的一部分,{R:1}是对第一个捕获组内容的引用。

© www.soinside.com 2019 - 2024. All rights reserved.