IIS配置頁(yè)面重寫(xiě)(配合插件url-rewrite2去除頁(yè)面后綴名)
IIS配置頁(yè)面重寫(xiě)(配合插件url-rewrite
本來(lái)一直想了解瀏覽器地址欄中url后綴名如何去除,今天正好抽空折騰一下。
下面參考一位博友文章(出處見(jiàn)文章末尾),基于windows平臺(tái)(windows7)詳細(xì)介紹。
1. URL重寫(xiě)組件url-rewrite2
微軟官方下載地址:http://www.iis.net/downloads/microsoft/url-rewrite
也可直接點(diǎn)擊下載:url-rewrite.zip
2. 暫停IIS,安裝組件
在安裝組件之前,先暫停IIS。
目前(2017/10/30)該組件安裝集成于Microsoft Web Platform Installer(下文簡(jiǎn)稱(chēng)Platform Installer)。若您已經(jīng)安裝過(guò)Platform Installer,雙擊運(yùn)行url-rewirte.exe后可能出現(xiàn)未彈出安裝界面(提示)情況,此時(shí)在開(kāi)始菜單中找到Platfom Installer,并打開(kāi),即可進(jìn)入安裝界面。
3. 重啟IIS,安裝組件
在IIS中找到你要設(shè)置的網(wǎng)站,點(diǎn)擊選中,在右側(cè)的工具中可看到URL Rewrite功能 ,若重啟IIS后依然沒(méi)有看到該功能,請(qǐng)重啟系統(tǒng)。
3. .htaccess
在網(wǎng)站根目錄下新建一個(gè) .htaccess 文件,它是url-rewrite2組件相關(guān)的配置文件,用于定義重寫(xiě)規(guī)則。在其中寫(xiě)入如下文本信息:
RewriteEngine on #將RewriteEngine引擎設(shè)置為on,就是讓url重寫(xiě)生效;
RewriteBase/ #用于設(shè)定重寫(xiě)的基準(zhǔn)URL,注意"RewriteBase"和"/"之間沒(méi)有空格
RewriteRule ^index\.php$
RewriteRule ^(.*)/([\w\-]+)$ $1/$2.php
其中詳細(xì)規(guī)則及解釋參考如下文章:
.htaccess技巧: URL重寫(xiě)(Rewrite)與重定向
4. 導(dǎo)入規(guī)則
選中URL Rewrite功能,在右側(cè)找到【導(dǎo)入規(guī)則..】功能,并點(diǎn)擊。
選擇你的.htaccess文件,然后點(diǎn)擊【導(dǎo)入】按鈕,最后點(diǎn)擊右側(cè)的【應(yīng)用】按鈕,就可以成功配置偽靜態(tài)了。
5. 結(jié)語(yǔ)
至此已經(jīng)完成了IIS下頁(yè)面重寫(xiě)規(guī)則。需要說(shuō)明的是,頁(yè)面重寫(xiě)規(guī)則可理解為服務(wù)器輔助補(bǔ)全/修飾URL。比如本文中書(shū)寫(xiě)的規(guī)則
RewriteRule ^(.*)/([\w\-]+)$ $1/$2.php
將自動(dòng)補(bǔ)全地址欄中的后綴名.php。
若用戶(hù)在地址欄中輸入 localhost/test/pageName ,則實(shí)際路徑為 localhost/test/pageName.php。