xampp 上的 Codeigniter 基本路径问题

Posted

技术标签:

【中文标题】xampp 上的 Codeigniter 基本路径问题【英文标题】:Codeigniter basepath issue on xampp 【发布时间】:2011-09-18 05:17:33 【问题描述】:

我已经在本地开发环境中使用 Codeigniter v1.7.1 工作了一段时间,最近我安装了 xampp 来替换它。之前,我修改了我的 hosts 文件并在我的 httpd.conf 文件中添加了一个虚拟主机,我的网站在 dev.mysite.com 上运行。

安装 xampp 后,当我转到 url localhost/mysite 时会显示 html,但是,所有路径都无法正常工作,因为它们的格式相对于站点根目录,显然没有正确设置。

例如: <script type="text/javascript" src="/public_scripts/homepage.js"></script> 指向 URL localhost/public_scripts 而不是 localhost/mysite/public_scripts。

我进入 config.php 并将 base_url 更改为许多不同的东西,例如 mysite/,但没有任何效果。

我可以做些什么来让 CI 使用 localhost/mysite 作为根,以便像 /public_scripts/script.js 这样格式化的相对路径使用 mysite 作为基本 url 而不是 localhost?

谢谢!

【问题讨论】:

【参考方案1】:

在你的主机文件(C:\WINDOWS\system32\drivers\etc\hosts)中添加

127.0.0.1   dev.mysite.com

在该站点的 virtual host 文件中,检查 DocumentRoot 中是否包含“mysite” c:\xampp\apache\conf\extra\mysite.com.conf

DocumentRoot C:/path_to_my_website/site/www/htdocs/mysite/

【讨论】:

成功了!谢谢吨!另外,我在 xampp Apache http 文件夹中找到了另一个名为“extras”的文件夹,其中包含一个包含在 httpd.conf 文件中的文件,您可以在其中添加虚拟主机。一旦它在那里,它就开始完美地工作。【参考方案2】:

您是否在视图中使用 base_url?

<script type="text/javascript" src="<?=base_url()?>public_scripts/homepage.js"></script>

【讨论】:

我的观点中没有使用 base_url,只是 src="/public_scripts/..."。 然后将其更改为我在上面发布的代码并将http:/localhost/mysite/ 作为配置文件中的基本 URL。您需要自动加载url-helper。 谢谢,但必须有办法解决这个问题,因为这是我继承的一个大型开发项目,它在其他任何地方都有效。浏览并更改网站上的所有相关链接以包含基本路径将需要数小时。 我会附和这个:如果你使用像src="/public_scripts/(而不是src="public_scripts)这样的链接,你明确地说从域的根目录开始(使用绝对网址,而不是相对网址)。您需要调用 base_url 来获取链接,以将根 url 正确解析到 localhost 以外的任何位置(或者您需要使用 mod_rewrite 或类似的东西来重定向这些请求)。 经过Femi的评论,我查看了服务器上的.htaccess文件,发现:&lt;IfModule mod_rewrite.c&gt; RewriteEngine On RewriteBase / #Removes access to the system folder by users. #Additionally this will allow you to create a System.php controller, #previously this would not have been possible. #'system' can be replaced if you have renamed your system folder. RewriteCond %REQUEST_URI ^system.* RewriteRule ^(.*)$ /index.php?/$1 [L] ...【参考方案3】:

这只是关于您的 /etc/hosts 和 xampp httpd conf 文件 - 您必须设置映射 127.0.0.1 dev.mysite.local 或本地域应该是什么,然后像以前一样添加虚拟主机,没有办法在 CI 或 .htacces 中执行此操作。

【讨论】:

以上是关于xampp 上的 Codeigniter 基本路径问题的主要内容,如果未能解决你的问题,请参考以下文章

XAMPP 上的 CodeIgniter - 403/404 访问图像时出错

xampp 上的 codeigniter 想让我在 uri 中使用 index.php

Codeigniter 4 不适用于带有 PHP 8.0 的 xampp

php中codeigniter中的应用程序路径

XAMPP在codeigniter上加载空白屏幕

codeigniter上的PHP短标签错误