【问题标题】:Codeigniter on Nginx, url segmentsNginx 上的 Codeigniter,url 段
【发布时间】:2013-08-22 19:33:11
【问题描述】:

我一直在我的本地机器上使用 Codeigniter 开发一个网站,运行 Apache 服务器。我没有意识到生产服务器会运行 Nginx。在尝试运行 CI 时,我现在遇到了一个问题,即那些带有段的漂亮 URL 不起作用。我不断收到 404 页面。

我没有使用 Nginx 的经验,但我通过 Google 找到了一些我尝试过的代码片段。

我处于共享托管情况,这意味着我的配置选项有限。这会导致配置界面拒绝我复制粘贴到其中的大部分配置片段,以使其正常工作。

到目前为止,我发现它拒绝了关键字server_namerootinclude,这些关键字似乎出现在我找到的每一个解决方案中。

由于我对这个主题知之甚少,我不确定我正在尝试做的事情(即启动 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


【解决方案1】:

然后你说“斜杠分隔的 URL”,你必须明白,它只是一些 URL,它会导致不存在的文件(例如,site.com/controller/action/param1/value1 会导致“文件夹" /controller/action/param1 和 "file" value1),而 tghis 的情况是通过在 apache 中使用 mod_rewrite 来解决的——它只是将指向不存在文件的任何 URL 重写为指向 index.php 的 URL。所以,在 nginx 中你需要的也是一样的。

在您的 nginx 配置中,您必须添加以下位置:

# for rewriting non-existing url-s to index.php
location / {
    try_files $uri $uri/ /index.php?$args;
}

#location, that enables to process *.php files thorugh php-fpm (fastcgi)
#it's possible that you already have this block configured, and don't need to change it.
location ~ \.php$ {
    try_files $uri =404;        
    fastcgi_pass 127.0.0.1:9999;
    fastcgi_index index.php;        include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    fastcgi_ignore_client_abort off;
}

另外,如果它没有帮助,只需谷歌“为 codeigniter 配置 nginx”,或者,询问您的网络托管服务商支持“请更改配置,以便 url 重写可以开始工作”

【讨论】:

  • 这正是我整晚都在寻找的配置,但我的主机提供的输入字段不允许您第二个片段第 6 行的 include 语句。我想我会问他们为什么。
  • 您必须向您的主机寻求技术支持。这是一个非常简单且广泛使用的配置,因此,如果您的主机无法手动设置,他们应该手动设置。
猜你喜欢
  • 1970-01-01
  • 2020-06-03
  • 1970-01-01
  • 1970-01-01
  • 2016-07-05
  • 1970-01-01
  • 2013-05-09
  • 2013-07-07
  • 1970-01-01
相关资源
最近更新 更多