0

更新

如果我像浏览网址

localhost/myapp/index.php/about_us/index

有用。网址中的这个 index.php 是什么?我是否需要在某些配置文件中提及它,以便在站点上的菜单/链接中附加并形成正确的 url?

原始问题

我对 PHP 一无所知,但我有一个在 php(codeigniter)中转换为 Ruby on Rails 的项目。我可以很好地设置数据库和应用程序,当我使用基本 url 浏览应用程序(不提及控制器和操作)时,它会正确加载页面。但是一旦我提到像这样的网址

本地主机/myapp/home/index

它显示消息

在此服务器上找不到请求的 URL。

如果我将默认控制器更改为 routes.php 中的任何内容,则使用 index 方法的页面可以正常工作,但不能明确提及控制器和操作。

我不确定是什么问题,我不知道路由在 php 中是如何工作的 :(

任何帮助将不胜感激。

4

2 回答 2

0

您似乎没有正确配置您的网络服务器。有关 Apache 的详细信息,请参阅此问题:codeigniter 中的路由问题

以下是 nginx 的规则:http ://wiki.nginx.org/Codeigniter

于 2013-04-01T17:25:36.200 回答
0

在 CodeIgniter 中,所有请求都通过index.php文件进行定向,该文件的作用类似于前端控制器

index.php必须出现在 URL 中,除非您已创建解决方案来消除它。使用 Apache 时,通常使用.htaccess文件来完成。有数百篇关于这项技术的文章和问题——当然你可以找到一些可以帮助你的东西。

关于 URL 和用于定义的配置选项,index.phpCodeIgniter URL 帮助函数,例如site_url()利用. 如果您使用 .htaccess 解决方案从您的 URL 中删除 index.php,您可以将此设置设为空白:$config['index_page']application/config/config.php

$config['index_page'] = '';

当您想将 index.php 重命名为其他名称时,此设置也很有用(不是很常见)。

于 2013-04-01T22:04:43.397 回答