我们制作自定义网址时路由解决方案,它会影响CSS,图像和链接

时间:2015-11-02 13:56:17

标签: css codeigniter

我第一次独立使用Codeigniter进行个人练习。

我已经创建了控制器类和其他一些方法,也使用route.php创建了自定义URL,如下所示:

$route['cele-saree'] = "celeSaree_c";

"celeSaree_c"是我的控制器类索引,我正在将网址设置为cele-saree - 并且它正常工作)

然后我在该类控制器中创建了一些其他方法,如下所示:

public function pg1() {
    //page and data load here
}

然后转到路由并使用以下代码为其创建URL:

$route['Priyamani-saree-images'] = "celeSaree_c/pg1";

(此代码为我提供了网址"localhost/mysite/Priyamani-saree-images" - 我想要的正常工作)

但我想将网址设为"localhost/mysite/cele-saree/Priyamani-saree-images",为此我使用了以下代码:

$route['cele-saree/Priyamani-saree-images'] = "celeSaree_c/pg1";

(当我去"localhost/mysite/cele-saree/Priyamani-saree-images"时,我得到了所有内容,但发现了 它的样式表来源已更改:

"localhost/mysite/assets/cele_saree/css/cele_saree.css" 

"localhost/mysite/cele-saree/assets/cele_saree/css/cele_saree.css"

导致错误404。

同样的事情也发生在内部图像上。)

我设置了base_url:

$config['base_url'] = 'localhost/mysite/';

请指导我该怎么做。

1 个答案:

答案 0 :(得分:0)

在我看来,对于image/css/javascript我更喜欢通过这种方式来获取资源:

"/assets/cele_saree/css/cele_saree.css"
 ^
 |

This slash will call from root path 

而不是像{/ 1}那样使用

base_url()

示例:

"localhost/mysite/assets/cele_saree/css/cele_saree.css" 
  

对于您的情况,如果您想根据您的更改<link href="/assets/cele_saree/css/cele_saree.css" rel="stylesheet" /> <img src="/assets/cele_saree/images/sample_image.png" />   方便它不会影响源路径。