我用CodIgniter开始一个PHP项目,我有一个项目在wamp/www/myproject
下。当我开始本地主机,然后单击我的项目URL看起来是这样的:这是在CodeIgniter中的URL路由
localhost/myproject
我想有这样的路由,当有人来键入
localhost/myproject/box/123
他应该被重定向到home
控制器box
方法。
我该怎么办?
我用CodIgniter开始一个PHP项目,我有一个项目在wamp/www/myproject
下。当我开始本地主机,然后单击我的项目URL看起来是这样的:这是在CodeIgniter中的URL路由
localhost/myproject
我想有这样的路由,当有人来键入
localhost/myproject/box/123
他应该被重定向到home
控制器box
方法。
我该怎么办?
转到路由配置文件(我想你知道在哪里),并补充一点:
$route['box/(:num)'] = 'home/box/$1';
任何有box/[any number]
将被路由到home/box
方法,以及比赛进行到(:num)
作为第一个参数。
所以你
http://localhost/myproject/index.php/box/123
将被路由到:( “因为如果你使用的显示”)
http://localhost/myproject/index.php/home/box/123
(这我假设你没有重写引擎从URL中移除index.php
尚)
删除index.php文件
默认情况下,index.php文件将被包含在你的URL:
http://example.com/index.php/news/article/my_article
您可以轻松地删除此文件使用带有一些简单规则的.htaccess文件。下面是这样一个文件的一个例子,使用“负”的方法中,一切都被重定向除指定的项目:
RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L]
在上述例子中,比那些的index.php,图像之外的任何HTTP请求时,而robots.txt被视为您的index.php文件的请求。
我试过你的建议解决方案,但是当我在url中输入http:// localhost/mediabox/box/1时,它表示在服务器 – 2012-03-12 10:57:49
上找不到所请求的url,你是使用apache重写删除'index.php /'或还没有?因为如果没有,你的网站应该像'http:// localhost/mediabox/index/box/1' – Joseph 2012-03-12 10:59:37
不,我不使用它...你能指导我该怎么做吗? – 2012-03-12 11:01:09
http://stackoverflow.com/questions/2584571/getting-started-with-url-routing-with-php-codeigniter – 2012-03-12 10:53:17
@Eddy弗雷迪以及我试过,但它不工作 – 2012-03-12 10:55:02
已经有一个很好的在文档中的例子。 – itachi 2012-03-12 10:55:31