Cuando solo entendí 404.asp antes, una vez fantaseé en escribir todo el código del programa en 404.asp para realizar una estación que simula la página web estática.
Hasta que vi el servidor. Transferente de ASP, la idea de generar una página estática con 404 simuló la página estática en mi mente. .
<!-#incluye archivo = bin/404_qury->
< %
Seleccione Case Bin_Command
Papelera
Servidor.transfer (bin/web)
Files de carga de casos
Servidor.transfer (bin/send-stream)
Caso
Servidor.transfer (bin/send-404)
final seleccionar
%>
Jeje, para decirlo claramente, se basa en bin_command juzgar si es muy funcional de lograr. . No hay reescritura en PHP.
El código fuente de Bin/404_Query es el siguiente:
< %
URLS = Mid (request.queryString, instr (request.querystring ,: 80) +4)
if instrer (urls,/)> 0 entonces
bin_command = izquierda (URLS, INSTR (URLS,/)-1)
getFile = reemplazar (URLS, bin_command &/,)
demás
bin_command = bin
final si
%>
Este código es principalmente para determinar qué se ejecuta Bin_Command.
Tales como: demo.com/index5.html, luego bin_command = bin, puedes saber
Demo.com/uploadfiles/123456.gif (este archivo realmente corresponde a los archivos/123456.gif), luego bin_command = uploadfiles, puede saber que puede darlo a bin/send sream. Puede consultar el artículo que escribí un artículo AP Practice BinaryWrite y ADODB.stream.
Demo.com/111/222, luego bin_command = 111 ″, no hay definición en el caso de selección, es lo contrario y se la entregó a bin/send-404 para el procesamiento.
De esta manera, todos los visitantes (incluidos: Baidu, Google), este sitio es una página estática. Hasta donde yo sé, el 99.9%de los anfitriones nacionales de IIS no admiten ISAPI_REWrite, y lo he encontrado una vez porque los recursos son demasiado serios y se cancelará pronto.
Lo siguiente es lo que vi en el ASP Learning Online, adjunto a la parte posterior como referencia:
Llame al método Server.transfer, termine inmediatamente la ejecución de la primera página y comience a ejecutar la segunda página.
Si la primera página comienza a escribir un búfer de respuesta, la segunda página se agrega al búfer en lugar de reemplazarlo.
Si el búfer está abierto, este método modificará el cabezal HTTP, a menos que no haya contenido que se haya enviado.
Cuando se transmite a otras aplicaciones, los objetos de la aplicación de la página de inicio y la sesión incluirán la información de la aplicación.
Ejemplo ejemplar
La siguiente página de ejemplo explica cómo usar el método Server.Transfer.
1.
<html>
<Body>
<H3> Paso 1 -Form Página </h3>
<border de tabla = 1>
<tr>
<th> post </th>
<TD>
<Form Action = Page2.asp Method = Post>
<input type = text name = name/>
<Entrada tipo = enviar value = enviar/>
</form>
</td>
</tr> <rem>
</tr>
<th> Get </th>
<TD>
<Form Action = Page2.asp Method = Get>
<input type = text name = name/>
<Entrada tipo = enviar value = enviar/>
</form>
</td>
</table>
</body>
</html>
2. Pon el siguiente código como Page2.asp (sin cotización):
< % @Language = VBScript %>
<html>
<Body>
<H3> Paso 2 -Página de transferencia </h3>
< %
Seleccionar Case UCase
Post de casos
Servidor.Transfer Page3a.asp
Caso obtenga
Servidor.transfer página3b.asp
Caso
Respuesta. Escribe un verbo HTTP desconocido se usó.
Final seleccionar
%>
</body>
</html>
3. Pon el siguiente código como Page3A.asp (sin cotización):
< % @Language = VBScript %>
<H3> Paso 3A -Post Resultados </h3>
<p> hola < % = request.form (name) %> </p>
4. Pon el siguiente código como Page3b.asp (sin cotización):
< % @Language = VBScript %>
<H3> Paso 3b -Get Results </h3>
<p> hola < % = request.querystring (nombre) %> </p>
Nota: Las dos últimas páginas son páginas HTML incompletas. Esto se debe a que ambas páginas se agregan al búfer de segunda página.
Explore la página1.asp para probar esta instancia.