php - 我应该如何为多站点 Codeigniter 应用程序配置重定向?
问题描述
我有多个 codeigniter 站点设置,如下所示:
- /CI_Site1
- /CI_site1/CI_Site2
- /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 的请求?
解决方案
只需在文件中添加以下代码并将其保存为 .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 已打开。
推荐阅读
- javascript - 如何通过电子邮件发送 d3 js 图表?
- android - 显示 DialogFragment 时如何捕获所有 GenericMotionEvent?
- vb.net - 有没有办法可以更快地写入 CSV?
- php - 如何在 PHP 中转换嵌套的 JSON 数组
- html - 是否有可能在固定的父 div 中存在一个相对于页面的子 div?
- java - javaFX的新手从密码和文本字段中获取字符串
- symfony - 更改 Symfony 公共目录以适应网站
- c# - 当一个服务依赖于另一个服务时,依赖注入的解决速度不够快
- azure-cosmosdb - Cosmos DB 故障转移警报?
- powerbi - 尝试在文本字符串中提取新列的值