未找到使用通配符页面的CodeIgniter URI

时间:2013-08-27 10:29:22

标签: php codeigniter codeigniter-url codeigniter-routing

首先解释我的情况,我想使用CI创建动态页面。我在URI路由中发现我可以使用WildCards,我用它来将ID传递给控制器​​中的一个函数以从数据库中检索。

通过使用我的路由文件[在路由中我更改了哪个控制器和函数来调用]。

1)我在Default_Routing中的网址是: 的本地主机/ CI /

2)当我导航到其他链接时,我会得到: 的本地主机/ CI /约

3)当我使用通配符时,我得到了这个URL: 的本地主机/ CI /构件/ 11

  • 而我使用segment(3)来获得'11'

4)但是当我在那个页面时,我尝试再次导航到“关于”链接,我得到: 的本地主机/ CI /构件/约

  • 以某种方式“会员”保留在网址中并在其后添加“关于”而非 localhost / CI / about

从手册我认为_remap可以解决这个问题(我不确定),我不知道如何解决这个问题,或者我使用了错误的方法。

2 个答案:

答案 0 :(得分:0)

您必须为链接使用base_url()或site_url()函数,然后链接将使用localhost / CI /进行结构化。

答案 1 :(得分:0)

也许为CI文件夹创建虚拟主机!

go - > C:\ WINDOWS \ SYSTEM32 \ DRIVERS \ ETC \主机 添加行 - > 127.0.0.1 localhost localhost2 localhost3

然后转到webserver httpd.conf文件并添加:

<VirtualHost localhost2>
    ServerName localhost2
    DocumentRoot "C:/wamp/www/project2"

    <Directory "C:/wamp/www/project2">
        allow from all
        order allow,deny
        AllowOverride All
    </Directory>
</VirtualHost> 

<VirtualHost localhost3>
    ServerName localhost3
    DocumentRoot "C:/wamp/www/CI"

    <Directory "C:/wamp/www/CI">
        allow from all
        order allow,deny
        AllowOverride All
    </Directory>
</VirtualHost>

重启网络服务器! 现在,在浏览器中查看CI文件夹类型 - &gt; loaclhost3