【发布时间】:2013-08-22 19:33:11
【问题描述】:
我一直在我的本地机器上使用 Codeigniter 开发一个网站,运行 Apache 服务器。我没有意识到生产服务器会运行 Nginx。在尝试运行 CI 时,我现在遇到了一个问题,即那些带有段的漂亮 URL 不起作用。我不断收到 404 页面。
我没有使用 Nginx 的经验,但我通过 Google 找到了一些我尝试过的代码片段。
我处于共享托管情况,这意味着我的配置选项有限。这会导致配置界面拒绝我复制粘贴到其中的大部分配置片段,以使其正常工作。
到目前为止,我发现它拒绝了关键字server_name、root 和include,这些关键字似乎出现在我找到的每一个解决方案中。
由于我对这个主题知之甚少,我不确定我正在尝试做的事情(即启动 Codeigniter 并使用斜杠分隔的 URL 部分而不是查询字符串运行)甚至可能在我'我无法使用上述关键字。
是否有可用于 Codeigniter 的“默认”Nginx 配置,这可能对我有所帮助?还是我的情况太有限,甚至无法解决?我应该向我的主人寻求帮助吗?
编辑:请注意,我并没有试图从我的 URL 中删除 index.php 以使它们更具吸引力——我还没有到那个时候。这是关于一般的 URL 段 - 你知道,Codeigniter 的默认行为。
【问题讨论】:
-
“隐藏 index.php”和“一般的 url 段”——实际上是同一个任务——需要启用重写选项。
-
我不同意。在ellislab.com/codeigniter/user-guide/general/urls.html 上,它说默认情况下它确实包含 index.php,并提供了重写来解决这个问题。 URI 段是默认功能,无需重写。这似乎是两种不同的场景。
标签: php codeigniter nginx