codeigniter应用程序适用于hostgator但不适用于其他Web主机

时间:2013-03-05 07:12:07

标签: .htaccess codeigniter

我有一个在我的hostgator托管域上完美运行的codeigniter应用程序。

我已经配置了.htaccess和config.php来从URL中删除index.php。如上所述,这是100%的工作。我现在需要使用Afrihost将应用程序从hostgator服务器移动到南非的本地服务器。

修改后的htaccess和配置文件如下所示:

我的htaccess文件是:

RewriteEngine on
RewriteBase /

# Prevent CI index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L] 

# Prevent user access to the CI system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L] 

# Prevent user access to the CI application folder
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

我的config.php文件是:

$config['base_url'] = 'http://logicoportal.co.za';
$config['index_page'] = '';
// let me know if you need to see any other setting

当我尝试浏览域http://www.logicoportal.co.za时,收到错误This page can't be displayed

如果我浏览到我的离子身份验证控制器,http://logicoportal.co.za/auth/login我收到404错误The webpage cannot be found

如果我浏览到我的完整codeigniter默认路径,http://logicoportal.co.za/index.php/auth/login我收到错误This page can't be displayed

我假设它是一个htaccess配置错误但是我不知道如何纠正这个。读了很多文章,没有运气。或者在codeigniter中有另一个配置设置来支持这个吗?

我已经和新的托管公司Afrihost进行了交谈,他们说他们在这方面无能为力。

任何建议/指示都将不胜感激。

一如既往地谢谢。

2 个答案:

答案 0 :(得分:4)

工作方案: htaccess文件删除共享主机服务器上的index.php

DirectoryIndex index.php
RewriteEngine on

RewriteCond %{REQUEST_URI} !^(index\.php|\.swf|forums|images|css|downloads|js|robots\.txt|favicon\.ico)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) ./index.php [L]

答案 1 :(得分:1)

尝试删除?

RewriteRule ^(.*)$ /index.php?/$1

所以它是:

RewriteRule ^(.*)$ /index.php/$1