在Angular / Codeigniter项目中从web.config迁移到.htaccess

时间:2017-07-28 14:17:15

标签: .htaccess codeigniter web-config

我们有一个Codeigniter项目,它包含两部分。在Angular和后端(API)上构建的前端。所有Angular代码都在/ app /中,CI的控制器和配置位于/ _api /文件夹中。 webapp的基础在" start" -controller中。

我们正在尝试将Web服务器从IIS迁移到Ubuntu 16.04并开始遇到问题,因为之前我们还没有使用过.htaccess文件。现在,只要我们尝试去,我们最终只能访问CI的404页。

这是web.config:

<configuration>
  <system.web>
    <customErrors mode="Off" />
  </system.web>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Rewrite to index.php">
          <match url="index.php|robots.txt|images|test.php" />
          <action type="None" />
        </rule>
        <rule name="Rewrite CI Index">
          <match url="api/*" />
          <conditions>
            <add input="{REQUEST_FILENAME}" pattern="js" negate="true" />
          </conditions>
          <action type="Rewrite" url="index.php/api/{R:0}" />
        </rule>
        <rule name="Rewrite CI Index 2">
          <match url=".*" />
          <conditions>
            <add input="{REQUEST_FILENAME}" pattern="css|js|jpg|jpeg|png|gif|ico|htm|html|eot|woff|ttf|svg|php" negate="true" />
          </conditions>
          <action type="Rewrite" url="index.php/start/" />
        </rule>
      </rules>
    </rewrite>
    <caching enabled="false"></caching>
    <staticContent>
      <clientCache cacheControlMode="DisableCache" />
      <remove fileExtension=".woff" />
      <!-- In case IIS already has this mime type -->
      <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
      <remove fileExtension=".woff2" />
      <!-- In case IIS already has this mime type -->
      <mimeMap fileExtension=".woff2" mimeType="application/x-font-woff2" />
    </staticContent>
  </system.webServer>
</configuration>

1 个答案:

答案 0 :(得分:0)

好!问题主要不是.htaccess文件。最大的问题是从基于Windows的Web服务器迁移到基于Linux的Web服务器。我们发现我们必须将所有CI控制器和模型重命名为大写字母。