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文件,发现:<IfModule mod_rewrite.c> 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