CI不在本地工作

时间:2012-04-28 18:49:44

标签: php .htaccess codeigniter

我没有在我的网站上实时工作,而是决定尝试在本地工作并稍后在我的实际网站上安装新版本。

所以我正在与Codeigniter合作,并有以下结构。

/ htdocs中/水分配系数(点)/ kowmanager(CMS)

当我加载https:localhost / kow时,它会加载正确的控制器但是由于某种原因,它没有重新确定kowmanager是一个带有自己的应用程序文件夹的kow的子目录,它应该加载在其路由中设置的默认控制器文件。当我加载https://localhost.com/kow/kowmanager时,它会加载一个页面,其中包含/ kow / kowmanager的索引,然后是指向父目录的链接。哪个与CI无关。

在kow目录中,这是我的.htaccess文件。这是问题吗?

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

RewriteEngine On
RewriteBase /kowmanager
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

我正在使用xxamp。

3 个答案:

答案 0 :(得分:1)

你使用.htaccess从网址中删除index.php吗? 是/ htdocs / kow安装CI的项目的基本目录?

你需要将kowmanagers放在controllers目录中,并指定要调用哪个控制器,我不确定CI是否支持从目录调用默认控制器,除非你在routes.php配置文件中指定它。

无论如何,如果您想要一个准确的答案,请提供进一步的信息。

答案 1 :(得分:1)

您需要manual所述的每个应用程序的index.php页面。

所以我认为您应该将 index.php 复制到 indexManager.php 并在其中更改应用程序文件夹。

$application_folder = "kowmanager";

关于重写我不确定,但我认为这符合:

RewriteEngine On
RewriteBase /kowmanager
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ indexManager.php?/$1 [L]

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

答案 2 :(得分:1)

什么是kowmanager,为什么你有两次重写?如果您的目录结构是我认为的那样,那么您可能只需从.htaccess文件中删除第二个kowmanager指令即可。

哪个文件夹是codeigniter?你要做的就是重写url以删除index.php,但除非你将url映射到codeigniter的index.php,否则它将永远无法加载控制器。

Apache有a lot of info on url rewrite。它阅读很多,行为总是非常挑剔,但也许它会对你有所帮助:

否则,更多信息将帮助我们为您提供帮助。附:我也用apache标记这个,因为这就是问题所在,并且你更有可能让那些了解很多关于apache的人来查看你的问题。