我正在使用Framework One(FW / 1),Coldfusion 10,并尝试使用Tuckey URLRewriteFilter从URL中删除index.cfm。我在FW / 1设置中将generateSES设置为true,将SESOmitIndex设置为true
我的urlrewrite.xml文件中包含以下代码
<rule>
<from>^/(.*)$</from>
<to last="true">/index.cfm/$1</to>
</rule>
当我查看该应用程序时,出现404错误,因此我将CGI范围转储到了onMissingTemplate()方法中,并且看到了以下吸引我眼球的键。
PATH_INFO m/
PATH_TRANSLATED C:\Coldfusion10\cfusion\wwwroot\index.cf
CF_TEMPLATE_PATH C:\Coldfusion10\cfusion\wwwroot\index.cf
SCRIPT_NAME //index.cf
似乎正在屠杀Request / Context等。我在SO上看到了其他一些帖子,但没有任何答案。
我在具有本地内置Web服务器的本地Windows Vista计算机上使用ColdFusion 10。
任何人都可以从我做错的事情或发生这种情况的原因中了解到什么吗?我正在使用URLRewriteFilter版本4.0.3
http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/4.0/index.html
最佳答案
>“在FW / 1设置中,我将generateSES设置为true,SESOmitIndex为true”
这两个设置无关紧要-它们仅影响buildUrl方法的行为。
(尽管知道path_info的存在可能会为该请求打开“ generateSES”标志,即使您在FW设置中明确禁用了该标志,也可能很有用。)
如果您使用的是URL过滤器,则无需担心通过path_info进行操作,只需重写为query_string可能会更简单-同样,无论上述设置如何,都将使用/处理这两个参数。
第一步,只需尝试一下,看看会得到什么:
<rule>
<from>^/(?!index\.cfm|favicon\.ico|list|of|folders)(.*)</from>
<to last="true">/index.cfm?action=$1</to>
</rule>
您可能会注意到
(?!
.. )
的负向查找-它防止实际的文件和目录被错误地重定向-如果您将任何其他根级别的文件以及任何顶级文件夹添加到其中, s)使用|
作为分隔符,包含您的图像/样式表/等。关于tomcat - URLRewriteFilter和FW1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12142283/