先解決history模式的問(wèn)題:
- 安裝IIS UrlRewrite
- 在網(wǎng)站根目錄中創(chuàng)建
web.config
文件件甥,內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Handle History Mode and custom 404/500" stopProcessing="true">
<match url="(.*)" /> //通配所有連接
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
//因?yàn)槭菃雾?yè)面,所以將所有連接重定向到 “/”哼拔,就是指向我們項(xiàng)目中的首頁(yè)
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
以上配置完其實(shí)可以在IIS界面中看到:
好了以上解決了路由404的問(wèn)題,但發(fā)現(xiàn)接口不能訪問(wèn)倦逐,導(dǎo)致頁(yè)面沒有數(shù)據(jù)了,為了解決跨域的問(wèn)題我在vue中是這么配置的:
module.exports = {
devServer:{
proxy:{
'/api':{
target:'http://www.test.com',
changeOrigin:true,
ws:true,
pathRewrite:{'^/api':'' }
}
}
}
}
所以依照剛剛在web.config
中配置的內(nèi)容曾我,所有訪問(wèn)/api/XXXX的鏈接都會(huì)指向“/”,這就有問(wèn)題健民,所以要給IIS配置反向代理:
- 下載安裝ARR(Application Request Routing)
- 按照下圖依次點(diǎn)擊紅框
3.回到我們的網(wǎng)站,打開URL重寫秉犹,添加新的規(guī)則