CI 在本地不起作用


CI not working locally

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

所以我正在使用Codeigniter,并有以下结构。

/

htdocs/kow(site)/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。

您需要为每个

应用程序提供一个索引.php页,如手册中所述。

所以我认为你应该将你的索引.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]
<</div> div class="answers">

您是否使用 .htaccess 从 url 中删除索引.php?/htdocs/kow 是安装 CI 的项目的基本目录吗?

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

无论如何,如果您想要准确的答案,请提供更多信息。

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

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

Apache有很多关于url重写的信息。它阅读了很多,行为总是很挑剔,但也许它会帮助你:

否则,更多信息将帮助我们为您提供帮助。 附言我也会用 apache 来标记它,因为这就是问题所在,你更有可能让对 apache 了解很多的人查看你的问题。