Когда я только что понял 404.ASP, я однажды фантазировал, чтобы написать весь программный код в 404.ASP, чтобы реализовать станцию, которая моделирует статическую веб -страницу.
До тех пор, пока я не увидел сервер. Перенесен ASP, идея создания статической страницы с 404 смоделировала статическую страницу, в моем уме. Полем
<!-#включить файл = bin/404_qury->
< %
Выберите Case bin_command
Корпус бин
Server.transfer (bin/web)
Корпусные файлы загрузки
Server.transfer (Bin/Send-Stream)
Случай еще
Server.transfer (bin/send-404)
конец выбора
%>
Хе -хе, чтобы выразить это, это основано на BIN_COMMAND, чтобы судить, очень ли это функционально. Полем В PHP нет переписывания.
Bin/404_Query исходный код выглядит следующим образом:
< %
Urls = mid (request.querystring, instr (request.querystring ,: 80) +4)
Если instr (urls,/)> 0, тогда
bin_command = left (urls, instr (urls,/)-1)
getFile = reply (urls, bin_command &/,)
еще
bin_command = bin
конец, если
%>
Этот код в основном для определения того, что BIN_COMMAND выполняется первым.
Например: demo.com/index5.html, затем bin_command = bin, вы можете знать
Demo.com/uploadfiles/123456.gif (этот файл фактически соответствует файлам/123456.gif), то bin_command = uploadfiles, вы можете знать, что вы можете дать его Bin/Send-Stream. Вы можете ссылаться на статью, которую я написал в статье AP Practical Binarywrite и Adodb.stream.
Demo.com/111/222, затем BIN_COMMAND = 111 ″, в избирательном случае нет определения, оно и еще, и передал его BIN/SEND-404 для обработки.
Таким образом, все посетители (включая: Baidu, Google), этот сайт является статической страницей. Насколько я знаю, 99,9%внутренних хостов IIS не поддерживают ISAPI_REWRITE, и я столкнулся с этим один раз, потому что ресурсы слишком серьезны, и это скоро будет отменено.
Следующее - это то, что я видел в онлайн -обучении ASP, прикрепленного к спине для справки:
Вызовите метод Server.transfer, немедленно прекратите выполнение первой страницы и начните выполнять вторую страницу.
Если первая страница начинает писать буфер ответов, вторая страница добавляется в буфер вместо его замены.
Если буфер открыт, этот метод будет изменять HTTP Head, если не будет отправлено контент.
При передаче в другие приложения приложение для начала страницы и объекты сеанса будут включать информацию о приложениях.
Примерный пример
На следующем примере страницы объясняется, как использовать метод Server.transfer.
1
<html>
<тело>
<h3> Шаг 1 -форма </h3>
<таблица границы = 1>
<tr>
<Th> post </th>
<Td>
<Form action = page2.asp method = post>
<input type = text name = name/>
<input type = отправить значение = отправить/>
</form>
</td>
</tr> <te>
</tr>
<Th> Получить </th>
<TD>
<Form action = page2.asp method = get>
<input type = text name = name/>
<input type = отправить значение = отправить/>
</form>
</td>
</table>
</body>
</html>
2. Поместите следующий код как page2.asp (без кавычки):
< % @Language = vbscript %>
<html>
<тело>
<h3> Шаг 2 -Трансфер.
< %
Выберите Case Ucase
Дело
Server.transfer page3a.asp
Случай получить
Server.transfer page3b.asp
Случай еще
Ответ. Был использован неизвестный HTTP -глагол.
Конец выбора
%>
</body>
</html>
3. Поместите следующий код как page3a.asp (без цитирования):
< % @Language = vbscript %>
<h3> Шаг 3A -Пост -результаты </h3>
<p> hello < % = request.form (name) %> </p>
4. Поместите следующий код как page3b.asp (без цитирования):
< % @Language = vbscript %>
<h3> Шаг 3b -получить результаты </h3>
<p> hello < % = request.querystring (имя) %> </p>
Примечание. Последние две страницы являются неполными HTML -страницами. Это связано с тем, что обе страницы добавляются во вторую страницу буфера.
Обзор Page1.asp для проверки этого экземпляра.