";分段;站点和Codeigniter中的相关HTML路径


"Staging" site and relative HTML paths in Codeigniter

我正在与"生产"应用程序相同的域上开发一个web应用程序——它只是顶级网站的子目录。类似于:www.site.com/v3/...

我见过几个人试图使用CodeIgniter获得相对路径——过去我只是在"v3"网站的每个HTML图像声明中插入base_url(),但我最近买了一个HTML网站模板,在数百个HTML标签中嵌入<?php base_url() ?>似乎效率很低。

希望有人能帮上忙——我希望能够直接将开发代码(又名"/v3/")转换为使用,而无需搜索和替换所有HTML引用。

这正是$config['base_url']application/config/config.php中的用途。如果您将其设置为http://site.com/v3/,则无论您使用base_url()site_url() ,它都会反映在您的网站上

但是,我应该注意,在整个站点中对每个srchref等使用base_url()site_url()是不好的做法。你正在疯狂地调用PHP解释器。

一个更好的解决方案是使用<head>中的<base>标记<base href="<?= site_url();?>">告诉HTML文档您的基础。

你有了。你使用site_url()一次,从现在起你就可以使用:

CCD_ 17和CCD_ 18

总的来说,作为一个总体原则,当你发现自己在复制自己时。。。找到消除重复的方法。保持干燥。

感谢大家的帮助。

在阅读了标签的潜在问题后,我重新思考了我的方法——我创建了一个主站点的子域(类似dev.mysite.com)。这样,我就可以像在生产版本中一样处理代码,只需在CI的config.php中更改基本URL。

就目前而言,这似乎是最简单的解决方案,因为为每个需要相对路径的HTML标记调用php预处理器是令人疲惫且效率低下的,并且使用标记可能会导致不一致的结果。