我尋找的是消除了HTML文件 的擴展規則(或一組規則),但在同一時間,以便能夠重寫瀏覽器的URL如下面的例子:如何使用web.config在IIS UrlRewriteModule中重寫網頁的網址?
category1_pageid2.html到categories_page (更多搜索引擎友好)
我有一個共享宿主環境與IIS 8.5 IIS_UrlRewriteModule 7.1.1952.0
非常感謝您的幫助
我尋找的是消除了HTML文件 的擴展規則(或一組規則),但在同一時間,以便能夠重寫瀏覽器的URL如下面的例子:如何使用web.config在IIS UrlRewriteModule中重寫網頁的網址?
category1_pageid2.html到categories_page (更多搜索引擎友好)
我有一個共享宿主環境與IIS 8.5 IIS_UrlRewriteModule 7.1.1952.0
非常感謝您的幫助
在IIS中,我創建了一個新的規則:
然後在下一個對話框中,我添加了一個模式categories_page與{QUERY_STRING}
匹配模式c=(\d+)&p=(\d+)
條件(儘管你可能不需要查詢字符串 - 按您的需求定製)。而對於動作我加了重寫URL的category{C:1}_pageid{C:2}.html
。如果您不需要查詢字符串,那麼您可以取消選中該複選框附加查詢字符串。
望着的web.config文件的網站,我看到下面的XML:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="category-page">
<match url="categories_page" />
<action type="Rewrite" url="category{C:1}_pageid{C:2}.html" />
<conditions>
<add input="{QUERY_STRING}" pattern="c=(\d+)&p=(\d+)" />
</conditions>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
當在瀏覽器中嘗試這個,我看到了category1_pageid2.html當我登錄到localhost/categories_page?c=1&p=2
時:
其他選項包括一個rewrite map - 請參閱this answer的簡短說明。
許多非常感謝您的詳細解答山姆。最後一個問題......這可能是共享主機環境嗎?我無法在IIS 8.5中創建入站規則,因爲我沒有權限訪問IIS管理。 web.config可以在沒有創建入站規則的情況下工作嗎? – kost
我實際上並沒有在共享主機環境中嘗試過它,所以我不確定。我知道UI對話框列出_inbound rule_,但* web.config *文件中的xml不包含該關鍵字,所以我認爲它應該沒關係......¯\\ _(ツ)_ /¯ –
是否需要支持一組單詞才能從單數轉換爲複數(例如* category *轉換爲* categories *)或者只是一個實例? –
Βy你的意思是多個頁面的單詞數組?如果是的話,你是否有一個web.config的例子來說明如何實現它? – kost