我在代码igniter 4.3.2中有projectA和projectB。projectA中的projectB。当我使用localhost/projectA/projectB/public/home时,可以调用控制器的默认projectB,但是当我删除url中的“public”时,它就不工作了。url“localhost/projectA/projectB/home”调用projectA中的控制器默认值。我在root projectA中有. httpaccess,如下所示:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\s\S]*)$ index.php/$1 [L,NC,QSA]
该怎么办?
1条答案
按热度按时间frebpwbc1#
出于安全原因,CI并不建议这样做。如果您想从URL中省略 public,您可以将Web服务器配置为指向 public 目录而不是项目根目录。
但是,如果你真的想删除public目录,你应该确保你已经将index.php向上移动了一级。对于.htaccess,您可以使用以下内容:
另外,在index.php中,你需要从require命令中删除
../
,该命令加载 app/Config/Paths.php。