Existem muitas maneiras de implementar páginas HTML estáticas, mas nem todo mundo sabe como implementar páginas estáticas. Então agora, o editor da Foxin apresentará a você como implementar páginas estáticas no ASP. Amigos interessados vêm e dão uma olhada.
1. Use isapi_rewrite para vincular e reescrever dinamicamente o URL estático html. isapi_rewrite é um componente DLL e re_write é um módulo no IIS. Essa implementação do filtro usa expressões regulares para mapear URLs dinâmicos da Web para URLs estáticos. Por exemplo, você pode converter notícias.asp? Id = 95 em notícias/95.html através de re_write. A expressão regular de mapeamento é definida no arquivo httpd.ini.
Para dar um pequeno exemplo: para lidar com a virada da página de dados, o método de escrita é:
MAIS _ <%= página%> _ <%= tipo%>.
Se você recorrer à próxima página, é: More_2_95.html e continue o loop da próxima página, é:
More_3_95.html, e assim por diante.
No entanto, você precisa adicionar o seguinte código ao arquivo httpd.ini:
rewriterulle /more_(d+)_(d+).html /jsp tutorial /mais.asp? Page = $ 1 & type = $ 2 [n, i] string 9
Se o seu programa dinâmico tiver vários parâmetros a serem passados, adicione múltiplos (d+), como segue:
rewriterulle /more_(d+)_(d+)_(d+).html /asp/more.asp?page=$1&type=$2&type2=$3 [n, i]
Vantagens: basicamente não há necessidade de fazer alterações no programa. Problema: para conseguir isso, você precisa controlar o IIS; portanto, quando você aluga o servidor de outra pessoa, precisa entrar em contato com o provedor de serviços primeiro. (É claro que isso é para ASP, não há necessidade de usar o tutorial do ASP.NET - você pode colocar diretamente a montagem da DLL na lixeira no programa e depois configurá -lo adequadamente)
2. Mecanismo de manuseio de erro 404 do IIS: Ao personalizar erros, volte para a página de processamento que preparamos. No entanto, essa escalabilidade precisa ser estudada e os requisitos gerais para o processamento do programa também são altos e não é muito adequado para aplicações práticas.
Primeiro, defina propriedades do site - erros personalizados
Encontre o erro HTTP 404 e, em seguida, edite as propriedades -> Tipo de mensagem e selecione URL-> URL para preencher "/index.asp" ou sua página de manuseio de erros.
Dessa forma, por exemplo, quando um usuário ou uma aranha visita http: //cn/12345.html (12345 é o ID do artigo no tutorial do banco de dados). Como algumas páginas não existem, um erro 404 foi acionado. Voltando ao index.asp
Adicionar em index.asp
A cópia do código é a seguinte:CurRomain = request.Servervariables ("http_host") 'Nome de domínio de acesso atual
currl = substituir (request.Servervariables ("Query_string"), "404; http: //" & curdomain & ": 80", "") 'currl acessado
O currl neste momento deve ser: 12345.html.
3.
1. Crie uma nova informação de pasta (porque o URL da página das informações de acesso final é http: // localhost/info/? 1.html)
2. Crie um novo arquivo padrão.asp na pasta de informações (que é a página da página inicial padrão)
O conteúdo do arquivo default.asp são os seguintes
A cópia do código é a seguinte:<%
CurRomain = request.Servervariables ("http_host") 'Nome de domínio de acesso atual
currl = substituir (request.servervariables ("query_string"), "404; http: //" & curdomain & "/info/?", "") 'curror accessado com url acessado
id = substituir (currl, ". html", "")
%>
onde id é o parâmetro passado
Se houver vários parâmetros, você pode pseudo-estaticamente transformar o URL em info/? 1-2-3.html
Entre eles, 1, 2 e 3 representam os valores de três parâmetros, e as cadeias separadas podem ser propostas separadamente.
Página estática real HTML
Escreva o código HTML em um arquivo e gerar um arquivo no formato .html
A cópia do código é a seguinte:<%
filename = "test.htm"
se solicitar ("corpo") <> "" então
set fso = server.createObject ("scripting.filesystemobject")
Definir htmlwrite = fso.createTextFile (server.mappath ("" nome do arquivo ""))))
htmlwrite.write "<html> <head> <title>" request.form ("title") "</title> </ad Head>"
htmlwrite.write "<body> título de saída Conteúdo do título:" request.form ("title") "<Br/> Saída do conteúdo do corpo:" request.form ("body") "</body> </html>"
htmlwrite.close
Definir Fout = nada
Defina FSO = nada
final se
%>
<forma name = "form" método = "post" action = "">
<input name = "title" value = "title" size = 26>
<br>
<textarea name = "body"> body </sexttarea>
<br>
<br>
<input type = "submit" name = "submit" value = "gene html">
</morm>
2. No entanto, é muito inconveniente gerar arquivos HTML de acordo com o método acima. O segundo método é usar a tecnologia de modelo para substituir o valor do código especial no modelo pelo valor aceito do formulário ou campo de banco de dados para concluir a função do modelo; Para gerar arquivos HTML de todos os códigos de modelo que foram finalmente substituídos. Essa tecnologia é usada mais e a maioria dos CMs usa esse método.
modelo de modelo de modelo '//
A cópia do código é a seguinte:<html>
<head>
<title> $ title $ por aspid.cn </title>
</head>
<Body>
$ corpo $
</body>
</html> testtemplate.asp '// gerar html
<%
Dim FSO, htmlWrite
Dim strtitle, strcontent, strout
'// Crie um objeto de sistema de arquivos
set fso = server.createObject ("scripting.filesystemobject")
'// Abra o arquivo de modelo da web e leia o conteúdo do modelo
Definir htmlwrite = fso.opentExtfile (server.mappath ("template.htm")))
strout = f.readall
htmlwrite.close
strTextle = "Título da página da web gerada"
strContent = "Conteúdo da página da web gerada"
'// Substitua as tags no modelo por conteúdo real
STROUT = Substitua (strout, "$ title $", strtitle)
STROUT = Substitua (Strout, "$ Body $", StrContent)
'// Crie a página estática a ser gerada
Definir htmlwrite = fso.createTextFile (server.mappath ("test.htm"), true)
'// Escreva conteúdo na página da web
htmlwrite.writeline strout
htmlwrite.close
Response.Write "A página estática foi gerada com sucesso!"
'// Libere o objeto do sistema de arquivos
Definir htmlwrite = nada
Defina FSO = nada
%>
Este artigo apresenta como implementar páginas estáticas no ASP. Amigos que precisam podem se referir a ele.