Ada banyak cara untuk mengimplementasikan halaman HTML statis, tetapi tidak semua orang tahu cara mengimplementasikan halaman statis. Jadi sekarang, editor Foxin akan memperkenalkan kepada Anda cara menerapkan halaman statis di ASP. Teman yang tertarik datang dan lihat.
1. Gunakan isapi_rewrite untuk secara dinamis menghubungkan dan menulis ulang URL statis HTML. isapi_rewrite adalah komponen DLL, dan Re_write adalah modul di IIS. Implementasi filter ini menggunakan ekspresi reguler untuk memetakan URL web dinamis ke URL statis. Misalnya, Anda dapat mengonversi news.asp? Id = 95 menjadi berita/95.html melalui re_write. Ekspresi reguler pemetaan diatur dalam file httpd.ini.
Untuk memberikan contoh kecil: untuk menangani putaran halaman data, metode penulisan adalah:
lebih _ <%= halaman%> _ <%= type%>. html (Catatan: halaman adalah jumlah halaman yang diputar, ketik adalah tipe data) Formulir Ekspresi: More_1_95.html
Jika Anda beralih ke halaman berikutnya, itu adalah: More_2_95.html, dan lanjutkan loop halaman berikutnya, itu adalah:
More_3_95.html, dan sebagainya.
Namun, Anda perlu menambahkan kode berikut ke file httpd.ini:
REWRITERULLE /MORE_(D+)_(d+).html /jsp tutorial /more.asp? Page = $ 1 & type = $ 2 [n, i] String 9
Jika program dinamis Anda memiliki beberapa parameter untuk dilewati, maka tambahkan beberapa (d+), sebagai berikut:
REWRITERULLE /MORE_(D+)_(d+)_(d+).html /asp/more.asp?page=$1&type=$2&type2=$3 [n, i]
Keuntungan: Pada dasarnya tidak perlu melakukan perubahan dalam program. Masalah: Untuk mencapai ini, Anda perlu mengontrol IIS, jadi ketika Anda menyewa server orang lain, Anda perlu menghubungi penyedia layanan terlebih dahulu. (Tentu saja ini untuk ASP, tidak perlu melakukan tutorial ASP.NET - Anda dapat secara langsung memasukkan perakitan DLL ke tempat sampah dalam program dan kemudian mengkonfigurasinya dengan tepat)
2. Mekanisme Penanganan Kesalahan 404 IIS: Dengan menyesuaikan kesalahan, putar ke halaman pemrosesan yang kami siapkan. Namun, skalabilitas ini perlu dipelajari, dan persyaratan keseluruhan untuk pemrosesan program juga tinggi, dan tidak terlalu cocok untuk aplikasi praktis.
Pertama, atur properti situs - kesalahan khusus
Temukan kesalahan HTTP 404, lalu edit properti -> Jenis Pesan dan pilih URL-> URL untuk mengisi "/index.asp", atau halaman penanganan kesalahan Anda.
Dengan cara ini, misalnya, ketika pengguna atau laba -laba mengunjungi http: //cn/12345.html (12345 adalah ID artikel dalam tutorial database). Karena beberapa halaman tidak ada, kesalahan 404 dipicu. Beralih ke index.asp
Tambahkan index.asp
Salinan kode adalah sebagai berikut:Currdomain = request.serverVariable ("http_host") 'nama domain akses saat ini
Currurl = ganti (request.serverVariable ("query_string"), "404; http: //" & Currdomain & ": 80", "") 'Currurl diakses
Arus saat ini harus: 12345.html.
3.
1. Buat info folder baru (karena URL halaman informasi akses akhir adalah http: // localhost/info/? 1.html)
2. Buat file default.asp baru di folder info (itu adalah halaman beranda default)
Isi file default.asp adalah sebagai berikut
Salinan kode adalah sebagai berikut:<%
Currdomain = request.serverVariable ("http_host") 'nama domain akses saat ini
Currurl = ganti (request.serverVariable ("query_string"), "404; http: //" & Currdomain & "/info/?", "") 'Curror Diakses URL
id = ganti (currurl, ". html", "")
%>
dimana id adalah parameter yang dilewatkan
Jika ada beberapa parameter, Anda dapat secara statis pseudo mengubah URL menjadi info/? 1-2-3.html
Di antara mereka, 1, 2, dan 3 masing -masing mewakili nilai dari tiga parameter, dan string yang terpisah dapat diusulkan secara terpisah.
Halaman statis html nyata
Tulis kode html ke dalam file dan buat file dalam format .html
Salinan kode adalah sebagai berikut:<%
FileName = "test.htm"
Jika permintaan ("tubuh") <> "" lalu
atur fso = server.CreateObject ("Scripting.FilesystemObject")
Setel htmlwrite = fso.createTextFile (server.mappath ("" nama file "")))
htmlwrite.write "<html> <head> <title>" request.Form ("title") "</iteme> </head>"
htmlwrite.write "<body> output judul konten:" request.form ("title") "<br/> output konten tubuh:" request.form ("body") "</body> </html>"
htmlwrite.close
atur fout = tidak ada
atur fso = tidak ada
akhiri jika
%>
<Form name = "Form" Metode = "POST" ACTION = "">
<input name = "title" value = "title" size = 26>
<br>
<TextArea name = "body"> body </textarea>
<br>
<br>
<input type = "kirim" name = "kirim" value = "menghasilkan html">
</form>
2. Namun, sangat tidak nyaman untuk menghasilkan file HTML sesuai dengan metode di atas. Metode kedua adalah menggunakan teknologi template untuk mengganti nilai kode khusus dalam templat dengan nilai yang diterima dari formulir atau bidang database untuk melengkapi fungsi template; Untuk menghasilkan file HTML dari semua kode templat yang akhirnya diganti. Teknologi ini lebih banyak digunakan, dan sebagian besar CM menggunakan metode ini.
template.htm '// file template
Salinan kode adalah sebagai berikut:<Html>
<head>
<title> $ title $ by aspid.cn </title>
</head>
<body>
$ tubuh $
</body>
</html> testTemplate.asp '// menghasilkan html
<%
redup fso, htmlwrite
redup strtitle, strcontent, strout
'// Buat objek sistem file
atur fso = server.CreateObject ("Scripting.FilesystemObject")
'// buka file template web dan baca konten template
Setel htmlwrite = fso.opentextFile (server.mappath ("template.htm")))
strout = f.readall
htmlwrite.close
strtextle = "judul halaman web yang dihasilkan"
strcontent = "konten halaman web yang dihasilkan"
'// Ganti tag di templat dengan konten nyata
strout = ganti (strout, "$ title $", strtitle)
strout = ganti (strout, "$ body $", strcontent)
'// Buat halaman statis yang akan dihasilkan
Setel htmlwrite = fso.createTextFile (server.mappath ("test.htm"), true)
'// Tulis konten ke halaman web
htmlwrite.writeLine Strout
htmlwrite.close
Response.write "Halaman statis dihasilkan dengan sukses!"
'// Lepaskan objek sistem file
Setel htmlwrite = tidak ada
atur fso = tidak ada
%>
Artikel ini memperkenalkan cara mengimplementasikan halaman statis di ASP. Teman yang membutuhkannya bisa merujuknya.