首页 > 解决方案 > 我应该如何为多站点 Codeigniter 应用程序配置重定向?

问题描述

我有多个 codeigniter 站点设置,如下所示:

  1. /CI_Site1
  2. /CI_site1/CI_Site2
  3. /CI_site1/CI_Site3

现在要使用我的第二个和第三个站点,我必须这样做:

mydomain.com/CI_Site2/index.php/controller/function

如果我不放 index.php,那么它会在根站点(AKA CI_Site1)中抛出 404。

我应该如何配置 htaccess 或 apache 站点 conf 或 CI 配置文件,这样我就不必添加 index.php?

我认为第一步应该是配置 CI_site1 中的路由不处理其他 2 的请求,但我不知道如何。希望Codeigniter pro可以帮助我。

提前致谢。

编辑:我知道如何使用 htaccess 从 URL 中删除 index.php。但这不是这里的问题。如何防止 CI_site1 处理针对 CI_site2 和 CI_site3 的请求?

标签: phpcodeigniter

解决方案


只需在文件中添加以下代码并将其保存为 .htaccess 然后将其上传到项目文件夹

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

确保您的服务器 mod_rewrite 已打开。


推荐阅读