[英]Workaround issue of Helicon Ape .htaccess RewriteRule from modifying Content Type
问题:
在IIS7.5中将Helicon Ape与最后一个RewriteRule一起使用IIS7.5中的.htaccess,如果不加注释,则会从响应标头中删除Content-Type(由Chrome检查器查看)(请参见下面的示例屏幕截图)。 这发生在/ flex2gateway /路径中,该路径应生成application / x-amf的Content-Type:
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的结果:
结果应为原样,或者最后一个RewriteRule被注释掉时
我尝试了多种解决方法,包括添加以下内容,但没有任何方法可以解决该问题:
RewriteRule ^flex2gateway/$ [NS,T=application/x-amp,L]
我终于弄清楚了,当然这是一个简单的解决方法!
只需添加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
路径。
看起来文件夹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”脚本。 将此更改为您的首选目标。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.