簡體   English   中英

IIS重寫模塊301重定向刪除文件夾添加額外的斜杠

[英]IIS rewrite module 301 redirects remove folder adding extra slash

我有這個IIS重寫規則

<rule name="Redirect rule for aliased Pages">
    <match url="^/pages/(.*)" />
    <action type="Redirect" url="{R:1}" />
</rule>

這個想法是它應該將http://mydomain.com/pages/about-us/重定向到http://mydomain.com/about-us/ 根據IIS中的測試人員的說法,R:1是about-us /,但是重定向始終轉到http://mydomain.com//about-us/ (請參閱double //)。 我試過從匹配URL中刪除兩個正斜杠,然后單獨保留每個正斜杠,這似乎沒有任何區別。

知道多余的/是從哪里來的嗎?

URL重寫模塊在初始斜杠后開始檢查,因此以下內容將刪除第一級文件夾“頁面”:

<rule name="Redirect rule for aliased Pages">
  <match url="^pages/(.*)" />
  <action type="Redirect" url="{R:1}" />
</rule>

測試:

如預期的那樣。

請注意,如果重寫規則位於單獨的文件中,則需要回收應用程序池或重新啟動IIS,以使更改生效。

同樣,規則的順序也很重要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM