我有一个在我的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进行了交谈,他们说他们在这方面无能为力。
任何建议/指示都将不胜感激。
一如既往地谢谢。
答案 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