Quand je viens de comprendre 404.asp auparavant, j'ai déjà fantasmé pour écrire tout le code du programme dans 404.asp pour réaliser une station qui simule la page Web statique.
Jusqu'à ce que je vois le serveur. .
<! - # Inclure file = bin / 404_qury->
<%
Sélectionnez Case Bin_Command
Bac de cas
Server.transfer (bin / web)
Case uploadfiles
Server.transfer (bin / envoi-stream)
Cas d'autre
Server.transfer (bin / send-404)
fin de sélection
%>
Hehe, pour le dire clairement, il est basé sur bin_command pour juger s'il est très fonctionnel à réaliser. . Il n'y a pas de réécriture dans PHP.
Le code source de BIN / 404_Query est le suivant:
<%
URLS = mid (request.querystring, instr (request.querystring ,: 80) +4)
Si instr (URLs, /)> 0 alors
bin_command = Left (URLS, instr (urls, /) - 1)
getFile = remplacer (URLS, bin_command & /,)
autre
bin_command = bin
terminer si
%>
Ce code est principalement pour déterminer ce que BIN_COMMAND est exécuté.
Comme: demo.com/index5.html, puis bin_command = bin, vous pouvez savoir
Demo.com/uploadfiles/123456.gif (ce fichier correspond en fait à des fichiers / 123456.gif), puis bin_command = uploadFiles, vous pouvez savoir que vous pouvez le donner à bin / sweat. Vous pouvez vous référer à l'article que j'ai écrit à un article AP Practical Binarywrite et Adodb.stream.
Demo.com/111/222, puis bin_command = 111 ″, il n'y a pas de définition dans le cas sélectionné, c'est ailleurs et le remis à bin / envoyage-404 pour le traitement.
De cette façon, tous les visiteurs (y compris: Baidu, Google), ce site est une page statique. Pour autant que je sache, 99,9% des hôtes IIS nationaux ne prennent pas en charge ISAPI_REWRITE, et je l'ai rencontré une fois parce que les ressources sont trop graves et elles seront annulées bientôt.
Ce qui suit est ce que j'ai vu sur l'ASP Learning Online, attaché à l'arrière pour référence:
Appelez la méthode Server.Transfer, terminez immédiatement l'exécution de la première page et commencez à exécuter la deuxième page.
Si la première page commence à écrire un tampon de réponse, la deuxième page est ajoutée au tampon au lieu de le remplacer.
Si le tampon est ouvert, cette méthode modifiera la tête HTTP, à moins qu'il n'y ait pas de contenu qui a été envoyé.
Lorsqu'il est transmis à d'autres applications, les objets d'application de la page de démarrage et de session comprendront des informations d'application.
Exemple exemplaire
L'exemple de page suivant explique comment utiliser la méthode Server.Transfer.
1 et 1
<html>
<body>
<h3> Étape 1 -Formage Page </H3>
<Table Border = 1>
<tr>
<h> Post </th>
<TD>
<Form Action = Page2.asp Method = Post>
<entrée type = nom de texte = name />
<Type d'entrée = soumettre Value = Soumider />
</ form>
</td>
</pr> <té>
</tr>
<h> get </th>
<TD>
<Formulaire form = page2.asp méthode = get>
<entrée type = nom de texte = name />
<Type d'entrée = soumettre Value = Soumider />
</ form>
</td>
</ table>
</docy>
</html>
2. Mettez le code suivant comme page2.asp (sans devis):
<% @Language = VBScript%>
<html>
<body>
<h3> Étape 2 - Page de transfert </h3>
<%
Sélectionnez Case UCase
Poste de cas
Server.transfert page3a.asp
Case
Server.transfert page3b.asp
Cas d'autre
Response.Write Un verbe HTTP inconnu a été utilisé.
Fin de sélection
%>
</docy>
</html>
3. Mettez le code suivant comme page3a.asp (sans devis):
<% @Language = VBScript%>
<h3> Étape 3A-Résultats du poste </h3>
<p> Bonjour <% = request.form (nom)%> </p>
4. Mettez le code suivant comme page3b.asp (sans devis):
<% @Language = VBScript%>
<h3> Étape 3B -get Résultats </h3>
<p> Bonjour <% = request.Querystring (nom)%> </p>
Remarque: les deux dernières pages sont des pages HTML incomplètes. En effet, les deux pages sont ajoutées au deuxième tampon de page.
Parcourez Page1.asp pour tester cette instance.