![](/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.