我有多个像这样的codeigniter网站设置:
现在要使用我的第二个和第三个站点,我必须这样做:
mydomain.com/CI_Site2/index.php/controller/function
如果我不放置index.php,那么它将在根站点(又名CI_Site1)中抛出404。
我应该如何配置htaccess或apache站点conf或CI配置文件,而不必添加index.php?
我认为第一步应该是将CI_site1中的路由配置为不处理其他2的请求,但我不知道如何。这是希望Codeigniter专业人士能为我提供帮助。
谢谢。
编辑:我知道如何使用htaccess从网址中删除index.php。但这不是这里的问题。如何防止CI_site1处理针对CI_site2和CI_site3的请求?
答案 0 :(得分:1)
只需在文件中添加以下代码并将其保存为.htaccess,然后将其上传到Project文件夹
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已打开。
答案 1 :(得分:0)
您尝试使用路线吗?
$route['CI_Site1'] = '/CI_Site1';
$route['CI_Site2'] = '/CI_site1/CI_Site2';
$route['CI_Site3'] = '/CI_site1/CI_Site3';
答案 2 :(得分:0)
我意识到不需要任何额外的配置。使用.htaccess删除index.php就足够了。我的问题是apache在默认配置下阻止了.htaccess文件。编辑apache2.conf以允许处理htaccess文件解决了我的问题。