修改内容类型时Helicon Ape.htaccess重写规则的解决方法

修改内容类型时Helicon Ape.htaccess重写规则的解决方法,.htaccess,iis-7.5,coldfusion-10,cfwheels,helicon-ape,.htaccess,Iis 7.5,Coldfusion 10,Cfwheels,Helicon Ape,问题: 使用IIS7.5中的.htaccess,使用Helicon Ape和最后一条重写规则,当未注释时,从Chrome inspector查看的响应标题中删除内容类型(参见下面的示例屏幕截图)。这发生在/flex2gateway/path上,该路径应生成应用程序/x-amf的内容类型: Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_URI} ^.*/index.cfm/(.*)$ [NC] RewriteRule

问题:

使用IIS7.5中的.htaccess,使用Helicon Ape和最后一条重写规则,当未注释时,从Chrome inspector查看的响应标题中删除内容类型(参见下面的示例屏幕截图)。这发生在/flex2gateway/path上,该路径应生成应用程序/x-amf的内容类型:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} ^.*/index.cfm/(.*)$ [NC]
RewriteRule ^.*/index.cfm/(.*)$ ./rewrite.cfm/$1 [NS,L]
RewriteCond %{REQUEST_URI} !^.*/(flex2gateway|jrunscripts|cfide|cfformgateway|cffileservlet|railo-context|lucee|files|images|javascripts|miscellaneous|stylesheets|robots.txt|favicon.ico|sitemap.xml|rewrite.cfm)($|/.*$) [NC]
RewriteRule ^(.*)$ ./rewrite.cfm/$1 [NS,L]
上次重写规则的结果:

按其应该的方式或在注释掉最后一条重写规则时生成结果

我尝试了许多变通方法,包括添加以下内容,但都没有解决问题:

RewriteRule ^flex2gateway/$ [NS,T=application/x-amp,L]

看起来文件夹flex2gateway实际上存在,当您尝试获取“/flex2gateway/”路径时,它会尝试返回目录列表

尝试为此添加规则:

RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} ^.*/(flex2gateway|jrunscripts|cfide|cfformgateway|cffileservlet|railo-context|lucee|files|images|javascripts|miscellaneous|stylesheets)(/?)$[NC]
RewriteRule ^(.*)$ ./rewrite.cfm/$1 [NS,L]

这将重定向到“/rewrite.cfm/$1”脚本。将此更改为您的首选目标。

我终于找到了答案,当然这是一个简单的解决方案

只需将
jakarta |
添加到
RewriteCond
模式:

RewriteCond %{REQUEST_URI} !^.*/(jakarta|flex2gateway|jrunscripts|cfide|cfformgateway|cffileservlet|railo-context|lucee|files|images|javascripts|miscellaneous|stylesheets|robots.txt|favicon.ico|sitemap.xml|rewrite.cfm)($|/.*$) [NC]

ColdFusion 10现在正在使用
/jakarta/isapi_redirect.dll
来处理
flex2gateway
路径。

我尝试发布到,但他们的社区登录现在无法正常工作。由于内容长度为0,所以响应似乎也是空白的?最后一条规则是什么?你看过错误日志了吗?另外,我建议您启用重写日志,并提供相同的问题“/flex2gateway/”URL不是文件,也不是目录。它是一个由ColdFusion中定义的servlet过滤器截取的值,在本例中为CF10。另外,当最后一次重写未注释时,响应正文为空。@Micah我想我得到了:(,尝试将“index.cfm”添加到排除规则中,| rewrite.cfm | index.cfm)。我想当没有匹配的时候它会被重定向到它。同时尝试交换规则,尽管我怀疑这会解决您的问题。很抱歉,您不能想出解决方案,但感谢您的伟大尝试!他们鼓励我继续努力