【问题标题】:Codeigniter htaccess and xamppCodeigniter htaccess 和 xampp
【发布时间】:2013-05-28 08:31:21
【问题描述】:

我在 Web 应用程序编程中使用 codeigniter,最近几天我从 appserv 转向 xampp。

问题是当路径包含两个'/'时页面返回错误:404 Page Not Found

点赞:http://domain.com/script//admin/

但是当单个'/'页面正常工作时

点赞:http://domain.com/script/admin/

http://domain.com/script”是 codeigniter 配置中的 base_url,domain.com 是 localhost。

注意:appserv 没有出现这个问题

【问题讨论】:

  • 你能发布你的 .htaccess 内容吗
  • RewriteEngine on RewriteRule ^(.*)$ webapplication.php?/$1
  • 你是否启用了xampp的mod_rewrite。如果不是 [leonardaustin.com/technical/enable-mod_rewrite-in-xampp] ,请检查此链接。另一个问题:您使用的是哪个版本的 CI?
  • 谢谢,删除 base_url 后的 '/' 效果很好

标签: codeigniter xampp


【解决方案1】:

CI 的base_url已经在末尾带有一个正斜杠(如果在config文件中留空),因此当您使用echo base_url(); 在视图中构建链接时,您不需要第二个正斜杠:

<a href="<?php echo base_url(); ?>admin">Link</a>

【讨论】:

  • 谢谢,我删除了正斜杠,它可以工作,但是为什么这个问题出现在 xampp 而不是 appserv 中?
  • 我从未使用过 appserv,所以我不知道。但在配置文件中base_url 被定义为:“指向您的 CodeIgniter 根目录的 URL。通常这将是您的基本 URL,带有尾部斜杠”;所以base_url应该是这样设置的。
【解决方案2】:

双斜杠在 URL 中没有任何意义。但是以下应该可以工作:

  1. 检查RewriteModule是否在apache/httpd.conf中的xampp中启用

同时分享你的 CI 项目的 .htaccess

【讨论】:

  • RewriteEngine on RewriteRule ^(.*)$ webapplication.php?/$1
  • 那么如果在 xampp 中,则启用重写模块
  • 你为什么使用双斜杠?这没有任何意义。 base_url 为您返回 /
猜你喜欢
  • 2012-11-05
  • 1970-01-01
  • 1970-01-01
  • 2011-03-18
  • 2020-12-08
  • 2012-11-10
  • 1970-01-01
  • 2014-09-25
  • 2011-06-21
相关资源
最近更新 更多