1

我最近刚刚启动了一个 ExpressionEngine 站点,我采取的最后一个步骤是从 URL 中删除 index.php。在此站点的情况下,默认模板组称为“站点”。长话短说,从 URL 中删除 index.php 后,所有页面都可以继续正常工作,但我的联系页面除外,它也位于“站点”模板组中。转到http://example.com/contact/会给我一个 404,而转到http://example.com/site/contact会产生所需的结果。在过去的 ExpressionEngine 站点设置(包括我自己的)中,这从未发生过,所以有没有人想过为什么这可能不起作用?

4

2 回答 2

4

第一个 URL 段始终映射到模板组。当没有第一个 URL 段时,ExpressionEngine 会自动加载index默认模板组中的模板。

现在,您将获得 404,因为您没有contact模板组。您可以在此处执行以下两项操作之一:

  1. 将您的site/contact模板移动到contact/index

  2. 重定向/contact/site/contact使用.htaccessDetour Pro

于 2012-11-09T16:00:18.800 回答
4

安德鲁,这也可能是因为严格的 URL。模板首选项中的严格 URL 意味着默认模板组(在您的情况下为“站点”)不再解析,而无需为其附加模板组名称(唯一的例外是 /index)。

杰西的解决方案有效。过去我在这里使用过 Brandon 的重定向 tomfoolery:http: //pixelandtonic.com/blog/making-pt-structure

于 2012-11-09T16:57:43.623 回答