我正在将站点从IIS 7移动到Apache 2.4,并且具有以下web.config重写规则我遇到了问题转换为.htaccess。该规则基本上允许通过重写所有没有带.cfm扩展名的扩展名的文件(例如,www.mydomain/bag在服务器上重写为www.mydomain.com/bag.cfm)来清理(seo友好)url。web中的工作规则的.config如下所示转换web.config重写规则为htaccess重写规则(所有文件没有扩展名将被处理为.cfm)
<rule name="Rewrite all non extension requests to .cfm" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}.cfm" matchType="IsFile" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="{R:1}.cfm" />
</rule>
我已经尝试了所有类似的帖子我能找到这里,不幸的是他们没有为我工作。我在CentOS 7(阿帕奇2.4)运行Lucee 5.0,如果该事项。任何指导,将不胜感激
您应该可以自定义此答案,以使用.cfm而不是.html: http://stackoverflow.com/questions/5745490/rewrite-rule-to-add-html-extension – Jordan
谢谢,是的我曾经尝试过,没有运气。我认为这可能与在Apache之后通过tomcat代理的“.cfm”文件有关。当我使用链接时,你建议我打开日志时看起来会变得很近,我会看到以下内容。 'strip per-dir prefix:/home/domain/public_html/bag.cfm - > bag.cfm 将模式'^(。*)$'应用于uri'bag.cfm' 传递给/ home/domain/public_html /bag.cfm 谈判:找到匹配请求的文件:/ home/domain/public_html/bag(无法协商)。' –
到达htaccess的时候, .cfm转换为.cfm。 –