![](/img/trans.png)
[英]Installing CodeIgniter on root and WordPress in sub-directory
[英]CodeIgniter in Sub-directory gives 404 error, when CodeIgniter is installed in / root folder also
我有一個使用CodeIgniter創建的網站,該應用程序安裝在Web根目錄(/)上。 這是GoDaddy上的共享托管環境。 為了創建開發環境,我將其復制並在/根目錄中創建了/ development文件夾。
現在,我的主站點運行良好,但是當我嘗試使用子目錄上的任何鏈接(鏈接到另一個域名)時,它總是給我一個404錯誤。
我已經嘗試過Stackoverflow上給出的解決方案,但是它不起作用。
重復的: CodeIgniter不會在子目錄中運行
所以我的結構是:
/system
/application1
/index.php
/.htaccess
/development/application2
/development/index.php
/development/.htaccess
頂級.htaccess包含:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
子目錄.htaccess是:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /development/
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 index.php
</IfModule>
(我什至嘗試了在StackOverflow上給出的建議,以在INDEX.PHP文件前面添加./,以及其他故障單中提供的建議)
子目錄中的$ system_path指向頂層/ system文件夾,以避免發生任何沖突。
主頁可以正確顯示在網站上,甚至可以正確顯示為以下子域的主頁:
http://www.mysite.co/
http://development.mysite.co/
但是創建的子域中的任何鏈接都顯示404錯誤,但我無法使任何鏈接正常工作。
我在GoDaddy的共享服務器(Linux)上托管,並安裝了PHP 5.3。 主根位於以下位置(絕對路徑):/ home / content / 22/88885555 / html
我創建的子目錄位於(絕對路徑):/ home / content / 22/88885555 / html / development
我將路徑用作:
/
/development/
有誰知道或嘗試過這種設置?
在/index.php中,修改以下行:
$system_path = "/path/to/your/public_html/system";
$application_folder = "/path/to/your/public_html/application1";
現在編輯/application1/config/config.php
找到以下幾行,然后更改為您的域名。
$config['base_url'] = 'http://mysite.co';
$config['index_page'] = '';
打開/.htaccess並修改以下內容:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
ReWriteCond %{HTTP_HOST} mysite.co
RewriteCond $1 !^(index\.php|development)
ReWriteRule ^(.*)$ /index.php/$1 [L]
ReWriteCond %{HTTP_HOST} development.mysite.co
ReWriteCond %{REQUEST_URI} !development/
ReWriteRule ^(.*)$ development/index.php/$1 [L]
現在為您的子目錄應用程序。
打開/development/index.php
修改以下幾行以符合您的設置:
$system_path = "/path/to/your/public_html/system";
$application_folder = "/path/to/your/public_html/development/application2";
注意system_path與application1相同嗎?
修改application2的配置文件。 打開/development/application2/config/config.php並將基本URL修改為測試站點。
$config['base_url'] = 'http://development.mysite.co';
最后刪除/development/.htaccess。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.