URL重写不适用于新笔记本电脑 - Windows 7 Pro 64位,IIS,ColdFusion 10,FW / 1

时间:2014-08-22 01:52:04

标签: iis-7 coldfusion url-rewriting coldfusion-10 fw1

所以我有一台新的笔记本电脑,把我所有的东西从旧的笔记本上移开。遇到几个问题但我能够克服它们除了URL Rewrite。我在Windows 7专业版64位,Adobe ColdFusion 10更新13,FW / 1 2.2和IIS 7上使用URL重写。这一切都在旧笔记本电脑上运行良好,一个值得注意的差异是Adobe ColdFusion 9。

网站不在根目录中,它是子文件夹“CCC”。

这是我的web.config。

<configuration>
<system.webServer>
<rewrite>
  <rules>
    <rule name="FW/1 URL Rewriting" enabled="true">
      <match url="^(.*)$" ignoreCase="true" />
        <conditions>
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        </conditions>
      <action type="Rewrite" url="/ccc/index.cfm/{R:1}" />
    </rule>
  </rules>
</rewrite>
</system.webServer>
</configuration>

还试过这个:

<rule name="Imported Rule 1" stopProcessing="true">
   <match url="^(.*)$" />
    <conditions logicalGrouping="MatchAll">
      <add input="{REQUEST_FILENAME}" pattern="^((?!\.).)*$|(\.cfm)$" />
      <add input="{URL}" matchType="Pattern" pattern="/(assets|scratch|remote|index.cfm|extensions)" ignoreCase="true" negate="true" />
    </conditions>
   <action type="Rewrite" url="/ccc/index.cfm/{R:1}" appendQueryString="true" />
</rule>

这个

<rule name="Insert index.cfm" stopProcessing="true">
  <match url="^(.*)$" ignoreCase="false" />
   <conditions logicalGrouping="MatchAll">
    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
   </conditions>
  <action type="Rewrite" url="/ccc/index.cfm/{PATH_INFO}" appendQueryString="true" logRewrittenUrl="true" />
</rule>

目前无论我点击什么链接,它都会将我带到主要的默认页面。以下是一些示例链接。

  • 开发/ CCC /项目/ dashbord /
  • 开发/ CCC /项目/ ID / 15
  • 开发/ CCC /接触/

如果我将index.cfm添加到上面的链接,它可以正常工作。

  • 开发/ CCC / index.cfm /项目/ dashbord /
  • 开发/ CCC / index.cfm /项目/ ID / 15
  • 开发/ CCC / index.cfm /接触/

我可能错过了Windows 7 Pro 64bit,IIS,ColdFusion(双倍)或FW / 1(加倍)的其他设置吗? 非常感谢任何建议。

1 个答案:

答案 0 :(得分:1)

卸载并重新安装ColdFusion IIS连接器。这是大多数更新所需的手动步骤,很多人都忽略了这一步骤。它可能会导致您现在看到的同一问题。

最简单的方法之一是运行以下两个批处理文件。根据您安装ColdFusion的位置,它们在您的计算机上的位置可能会有所不同。

C:\ColdFusion10\cfusion\bin\connectors\Remove_ALL_connectors.bat
C:\ColdFusion10\cfusion\bin\connectors\IIS_connector.bat