簡體   English   中英

url重寫-僅在目錄符合條件時才刪除子域

[英]url rewrite - remove subdomain only when directory meets criteria

在處理從網址中刪除www方面,我已經看到了許多類似的問題,但是我僅在存在某個目錄時才需要將其刪除。 真正的問題是我在IIS中的“ URL重寫”中運行“測試”並且工作正常,但由於某種原因,當我鍵入URL時沒有響應。 我試圖切換到“不匹配”時,它會重定向,所以我有點困惑我在做錯什么才能使它起作用。

URL示例為http://www3.test.com/feed/testing.xml如果URL中存在目錄“ feed”,則刪除www3。 我認為這將非常簡單。

<rule name="fix feeds" enabled="true" stopProcessing="true">
  <match url="(.*)" />
    <conditions>
      <add input="{HTTP_HOST}" pattern="(www3\.)(.*)(feed/.*)" />
    </conditions>
    <action type="Redirect" url="http://{C:2}{C:3}" appendQueryString="false" redirectType="Permanent" />

我發現的另一個問題是,如果將其設置為永久重定向301,則一旦發生觸發(並且可能無法按預期工作)的情況,瀏覽器就會緩存301重定向並弄亂您的測試環境。

您無法在HTTP_HOST中匹配供稿,而需要使用“匹配URL”。

您必須在匹配URL中匹配/feed/testing.xml,這將在此處產生R:0如果匹配模式為www3,則匹配您的模式,並使用C:2,這將為您提供沒有www3的URL。

<rule name="fix feeds" enabled="true" stopProcessing="true">
  <match url="^feed/.*" />
    <conditions>
      <add input="{HTTP_HOST}" pattern="(www3\.)(.*)" />
    </conditions>
    <action type="Redirect" url="http://{C:2}/{R:0}" appendQueryString="false" redirectType="Permanent" />
</rule>

暫無
暫無

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

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