# 在 IIS7 新增【中文域名】的網站站台無須先轉換 PunyCode

有時候知道太多東西也好像不是見好事，像我多年前在幫客戶設定一個〔中文域名〕的時候，就是遇到設定網站前要先將中文域名轉成 [PunyCode](http://en.wikipedia.org/wiki/Punycode) 才能設定的情況，今天我公司同事由於要替客戶新增一個中文域名的網站，因為他沒設定過，便跑來問我應該如何設定。我就跟他講有 [PunyCode](http://en.wikipedia.org/wiki/Punycode) 這件事，然而設定完成之後 IIS7 裡的站台完全打不開，而且查不出原因，這才發現原來 IIS7 早已內建支援中文域名，設定的時候無須轉換網址就能正確設定，這件事，還是寫篇文章來提醒大家吧。

如果你早就知道 [PunyCode](http://en.wikipedia.org/wiki/Punycode) 的存在，很有可能真的會先轉換過再來新增站台，以下我就來新增一次給各位看，並且讓各位看看他會引發的問題：

1\. 先在 IIS 管理員新增一個網站，並且要設定「主機名稱」，主機名稱輸入的是 [PunyCode](http://en.wikipedia.org/wiki/Punycode) 編碼版本

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/7b4e895d784f0c465199-SNAGHTML67215f1.png)

2\. 新增完成後，你會發現該站台永遠無法啟動

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/d76554e768f475ad5562-image_1497.png)

且錯誤訊息為：**值未落在預期的範圍內。** ( **Value does not fall within the expected range** )

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/6aa468ec756c40a66b31-SNAGHTML67edc3c.png)

IIS7 顯示的錯誤訊息如此的**普通**，對剛遇到這問題的人來說真的很難找到真正的問題所在，我第一次碰到時也是處理了好久才找到問題的主因。

以下才是在 IIS7 設定〔中文域名〕網站的正確方法，也就是直接輸入中文，無須先轉換成 [PunyCode](http://en.wikipedia.org/wiki/Punycode)：

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/8c5dfd1be24e940c67e6-SNAGHTML686abab.png)

這樣設定之下，就不會遇到無法啟動站台的問題，而且也不會再顯示**值未落在預期的範圍內**這種奇怪的錯誤訊息了！

**相關連結**

-   [Punycode 轉碼](http://www.whois365.com/tw/tools/punycode)
-   [Punycode - Wikipedia, the free encyclopedia](http://en.wikipedia.org/wiki/Punycode)
