首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Coldfusion页面执行了两次

Coldfusion页面执行了两次
EN

Stack Overflow用户
提问于 2020-05-29 14:37:57
回答 1查看 343关注 0票数 1

嗨,我有个奇怪的问题。在我们的开发服务器上,coldfusion页面被执行了两次。每次都会发生这种事。为了找出造成这一问题的原因,我向自己发送了一封电子邮件,其中包含了请求的详细信息:

代码语言:javascript
复制
<Cfmail from="*" to="*" type="html"> 
<cfdump var=#GetHttpRequestData()#>
#gettickcount()#
#createUUID()#
</cfmail>

当调用包含.cfm的页面时,我会得到以下响应:

代码语言:javascript
复制
content [empty string] 
headers struct
TOMCATCGIHTTPURL000000006A6B0000    /test.cfm 
accept  */* 
content-length  0 
host    * 
user-agent  curl/7.40.0 

method  GET 
protocol    HTTP/1.1 
1590760731452 
C7487929-D679-B029-6E236DEE7E19B8EB 

和第二封邮件

代码语言:javascript
复制
content [empty string] 
headers struct
X-Original-URL  /test.cfm
accept  */* 
content-length  0 
host    * 
user-agent  curl/7.40.0 

method  GET 
protocol    HTTP/1.1 
1590760731425 
C7487814-FA6F-4699-182C2E7382A06A47 

现在最奇怪的是。当我调用一个没有文件名的index.cfm时,这个页面只执行一次。例如,将位于/test/index.cfm上的页面调用为/test/返回为单个响应:

代码语言:javascript
复制
content [empty string] 
headers struct
X-Original-URL  /test/ 
accept  */* 
content-length  0 
host    * 
user-agent  curl/7.40.0 

method  GET 
protocol    HTTP/1.1 
1590762636945
C86B3A74-025F-6DBA-EA187DFEF7751F03 

环境详细信息: Windows 2016 server,IIS 10,Coldfusion 2016

对是什么导致了这个问题有任何想法。

更新

我用重写规则。我测试了禁用重写规则(如Miguel-F所建议的),然后页面只执行一次。当添加这样的简单重写规则时,页面会执行两次:

代码语言:javascript
复制
<rule name="Test rule" stopProcessing="true"> 
<match url="^(.*)$" />
<action type="Rewrite" url="/{R:1}" appendQueryString="true" />
</rule>

此行为仅发生在我们的开发服务器上。我们的生产服务器没有这些问题,而且还运行在windows 2016、IIS 10和coldfusion 2016上。

Coldfusion版本用于开发服务器: 2016.0.13.316217 (生产服务器运行在完全相同的版本上,没有问题)

EN

回答 1

Stack Overflow用户

发布于 2020-05-30 17:50:47

这不是一个真正的答案,而是一个很长的评论。

你需要弄清楚这是一个请求还是两个请求。添加如下代码:

代码语言:javascript
复制
  <cfparam name="request.count" default="0">
  <cfset request.count++>

  <Cfmail from="*" to="*" type="html"> 
  <cfdump var=#GetHttpRequestData()#>
  Request.count: #request.count#
  <br />
  #gettickcount()#
  #createUUID()#
  </cfmail>

如果该文件被请求两次,则每封电子邮件将显示1。

如果以某种方式包含了该文件,那么第二封电子邮件将显示请求计数为2

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62088447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档