0

我正在与“生产”应用程序在同一域上开发一个 Web 应用程序——它只是顶级网站的一个子目录。就像是:www.site.com/v3/...

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

希望有人能提供帮助——我希望能够将开发代码(又名“/v3/”)直接转换为使用,而无需搜索和替换所有这些 HTML 引用。

4

2 回答 2

0

这正是$config['base_url']in的目的application/config/config.php。如果您将其设置为http://site.com/v3/,它将在您使用的任何地方反映在您的网站上base_url()site_url()

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

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

你有它。您使用site_url()一次,从现在开始您可以使用:

<a href='controller/action'>My Link</a><img src='my_image.png'/>

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

于 2013-02-11T00:55:56.713 回答
0

谢谢大家的帮助,伙计们。

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

目前这似乎是最简单的解决方案,因为为每个需要相对路径的 HTML 标签调用 php 预处理器既费力又低效,并且使用标签会导致结果不一致。

于 2013-02-15T17:20:02.690 回答