我们有一个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>
答案 0 :(得分:0)
好!问题主要不是.htaccess文件。最大的问题是从基于Windows的Web服务器迁移到基于Linux的Web服务器。我们发现我们必须将所有CI控制器和模型重命名为大写字母。