更改MVC CI中的特定路线

时间:2015-10-27 04:40:06

标签: php codeigniter codeigniter-3

我在PHP MVC CI中的示例应用程序中有以下Url

http://localhost:1234/Sample/Index.php/User/index

此处用户为Controller,索引为Action Method

我可以像下面这样写这个网址吗?

http://localhost:1234/Users

3 个答案:

答案 0 :(得分:2)

在看到您的代码后,您所犯的主要错误已重命名为index.php,这是错误的,请将index1212.php还原为index.php

其他的事情你可以按照其他答案。但这是maon,codeigniter不会在没有index.php文件的情况下运行

修改

我注意到的另一个错误是routes.php

它的

$route['Users'] = 'user/';

不是$routes

并像这样访问您的项目,http://localhost/Sample/Users

据我所知,您无法在网址中隐藏文件夹名称。

答案 1 :(得分:0)

如果您想使用自定义路线。 http://www.codeigniter.com/user_guide/general/routing.html

您不需要在routes.php中包含index.php

// application > controllers > sample > Users.php filename first letter must be uppercase. Same with class name.
$routes['users'] = 'sample/users/index'; // Lower case preferred.

// When with out function would go straight to index function
$routes['users'] = 'sample/users'; 


// No Need for index.php
// $routes['Users'] = 'Sample/Index.php/User/index';

现在网址将是

  

http://localhost:1234/project/users

     

http://localhost/project/users

或者使用index.php

  

http://localhost:1234/project/index.php/users

     

http://localhost/project/index.php/users

你可能需要删除index.php这里有一些htaccess

https://github.com/riwakawebsitedesigns/htaccess_for_codeigniter

应用程序> config>的config.php

$config['index_page'] = '';

htaccess示例

Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

注意WAMP用户:

如果使用WAMP,请确保已启用重写模块。

答案 2 :(得分:-1)

Sample是您的项目目录,因此您无法编写您想要的路线,如下所示。

  

http://localhost:1234/Sample/Users

您的路线文件将如下所示。

  

$ route ['Users'] ='用户/索引';