我正在將站點從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。 –