各位先進好
想請教一個IIS問題
我的實體檔案在
webroot/ithelp/good_2020/index.html
與
webroot/ithelp/nice_2020/index.html
想請問該如何透過IIS達到以下的效益呢?
比如說
當訪問 https://test.example.com/ithelp-good_2020.html時
能夠對應到 webroot/ithelp/good_2020/index.html 這支實體檔案
當訪問 https://test.example.com/ithelp-nice_2020.html時
能夠對應到 webroot/ithelp/nice_2020/index.html 這支實體檔案
或是說只能夠過轉址的方法達到目標
當訪問
https://test.example.com/ithelp/good_2020/index.html
能夠透過轉址或是重寫到
https://test.example.com/ithelp-good_2020.html
目前我透過Rewrite URL測試,但呈現效果跟我想的不同,在麻煩先進們指點
<rule name="ithelp" enabled="true" stopProcessing="true">
<match url="^([^\.\/]+)/([^\.\/]+)/$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
</conditions>
<action type="Redirect" url="https://test.example.com/{R:1}-{R:2}.html" appendQueryString="false" />
</rule>
<rule name="Rewrite TEST1" stopProcessing="true">
<match url="^(.*)-(.*).html$" negate="false" />
<action type="Rewrite" url="{R:1}/{R:2}/index.html" appendQueryString="false" />
</rule>
您好
小弟希望從https://test.example.com/ithelp/good_2020/index.html
能夠重寫為
https://test.example.com/ithelp-good_2020.html
如果我透過301轉址會導致404
以下為301的設定,請問我該怎麼修正成重寫呢
<rule name="test" stopProcessing="true">
<match url="^(.*)/(.*)/(.*).html$" negate="false" />
<action type="Rewrite" url="https://test.example.com/ithelp-{R:2}/index.html" appendQueryString="false" />
</rule>
<rule name="Rewrite TEST2" stopProcessing="true">
<match url="^(.*)/(.*)/index.html$" negate="false" />
<action type="Redirect" url="{R:1}-{R:2}.html" appendQueryString="false" />
</rule>