簡體   English   中英

如何為多站點Codeigniter應用程序配置重定向?

[英]How should I configure redirects for multisite Codeigniter app?

我有多個像這樣的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專業人士能為我提供幫助。

提前致謝。

編輯:我知道如何使用htaccess從URL中刪除index.php。 但這不是這里的問題。 如何防止CI_site1處理針對CI_site2和CI_site3的請求?

只需在文件中添加以下代碼並將其保存為.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已打開。

您是否嘗試過使用路線?

$route['CI_Site1'] = '/CI_Site1';
$route['CI_Site2'] = '/CI_site1/CI_Site2';
$route['CI_Site3'] = '/CI_site1/CI_Site3';

我意識到不需要任何額外的配置。 使用.htaccess刪除index.php就足夠了。 我的問題是apache在默認配置下阻止了.htaccess文件。 編輯apache2.conf以允許處理htaccess文件解決了我的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM