2019/4/12 8:18:11
以前剛剛懂404.asp的(de)時候,曾經幻想把所有(yǒu)程序代碼寫到(dào)404.asp中,實現一個(gè)模拟生成靜态網頁的(de)站,如(rú)果程序小(xiǎo)還可(kě)以,用(yòng)404.asp實現Rewrite還是一個(gè)不錯的(de)選擇,如(rú)果程序代碼多達100000行(xíng),恐怕就要開(kāi)始爬了
直到(dào)看到(dào)asp的(de)Server.Transfer,用(yòng)404模拟生成靜态頁的(de)站的(de)念頭重新在我的(de)腦(nǎo)海(hǎi)中浮現出來,現在即使在大(dà)的(de)程序,也(yě)可(kě)以用(yòng)ASP中的(de)Server.Transfer輕松搞定
<!--#include file="bin/404_Query"-->
< %
select case bin_command
case "bin"
server.transfer("bin/web")
case "uploadfiles"
server.transfer("bin/send-stream")
case else
server.transfer("bin/send-404")
end select
%>
呵呵,說白了,就是根據bin_command來判斷到(dào)底要實現很麽功能(néng),如(rú)果爲bin則由asp的(de)Server.Transfer移交到(dào)到(dào)bin/web,然後返回結果,并且能(néng)很好的(de)解決URL地(dì)址的(de)友(yǒu)好性的(de)問題,實現模式生成靜态頁的(de)效果。在PHP中沒有(yǒu)Rewrite,如(rú)果想要URL友(yǒu)好性通常實用(yòng)PATH_INFO,而本程序由asp的(de)Server.Transfer模拟了PHP中的(de)Path_Info,唯一需要的(de)就是要支持404.asp
bin/404_Query的(de)源代碼如(rú)下:
< %
Urls=mid(request.querystring,instr(request.querystring,":80")+4)
if instr(Urls,"/")>0 then
bin_command=left(Urls,instr(Urls,"/")-1)
getfile=replace(Urls,bin_command&"/","")
else
bin_command="bin"
end if
%>
深圳市南山區南山街(jiē)道南海(hǎi)大(dà)道西(xī)桂廟路(lù)北陽光(guāng)華藝大(dà)廈1棟4F、4G-04
咨詢電話(huà):136 8237 6272
大(dà)客戶咨詢:139 0290 5075
業(yè)務QQ:195006118
技術(shù)QQ:179981967