2016-08-05

Asp.net URL Rewriting

需求

如果User在網址上輸入特定路徑但是任意檔名的時,皆下載同一個檔案

例如:

http://localhost/Files/zip001.zip 或是 http://localhost/Files/zip002.zip

都是下載 [WebRoot/ZIPFiles/A.zip]

http://localhost/Files/txt001.txt 或是 http://localhost/Files/txt002.txt

都是下載 [WebRoot/TXTFiles/A.txt]

 

解決方式

這樣的需求基本上就是用URL mapping或是URL rewriting就可以了.

下面就是使用 URL Rewriting 的設定方式

 

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="ZIP file handler" stopProcessing="true">
          <match url="^Files/?(.*).zip$" />
          <action type="Rewrite" url="/ZIPFiles/A.zip" redirectType="Permanent"/>
        </rule>
        <rule name="TEXT file handler" stopProcessing="true">
          <match url="^Files/?(.*).txt$" />
          <action type="Rewrite" url="/TextFiles/A.txt" redirectType="Permanent"/>
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

Ubunutu 上安裝python2, 3, pip 跟virtualenv

# 安裝 python2, python3 (ubuntu 17.04已經預設安裝python3, 但沒有python2) sudo apt install python python-dev python3 python3-dev # 安裝 pip curl https://b...