2014-10-31 171 views
0

我开发了一个使用codeigniter的Web应用程序。在我的本地主机,它工作正常。但是,当我将它托管到实时服务器(共享服务器)时,它不起作用。 我得到的主页,同时呼吁现场服务器上的主URL,而是通过控制器的任何URL不工作Codeigniter在一台服务器上工作,但不在另一台服务器上

当调用URL“http://my_domain.in/pages/second_page”收到以下错误

The requested URL /my_domain.in/my_domain.in/index.php/pages/second_page was not found on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. Apache Server at my_domain.in Port 80

我注意到在我的域名正在重复的错误字符串URL上,但在实际的URL上,它不是那样的,index.php也是。所以我已经改变了很多次.htaccess代码来解决这个问题。那次Error消息的URL正在改变,但没有成功的结果发生。

最后我寄存在我朋友的服务器上。那个时候它像我的本地主机一样正常工作。你能告诉我什么是我的服务器的问题?在服务器上使用codeigniter时是否有任何启用或禁用? codeigniter框架从未在此服务器中使用。

+0

它看起来像你的现场服务器有一些自定义的mod_rewrite配置,这与你的htaccess冲突。您应该询问您的主机管理员以获得帮助 – JimiDini 2014-10-31 08:25:20

回答

0

为了得到更好的答案,您需要提供主机提供商名称。您可以尝试使用以下.htaccess。

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*) index.php?/$1 
+0

这也不起作用。认为问题不在于htaccess。我认为这是服务器属性。我的托管服务提供商是godaddy。 – 2014-10-31 09:41:44

+0

是的,这是godaddy的.htaccess。这应该正常工作。 – 2014-10-31 09:57:00

+0

但是,对不起,你没有工作。请让我知道我们想把我们的.htaccess文件放在哪里?我只在主目录index.php附近。这是正确的方法吗?服务器端有什么要做的吗? – 2014-10-31 10:03:31

0

它看起来youare隐藏的index.php,但错误是提它 ==> /my_domain.in/my_domain.in/ 的index.php /页/ second_page未发现

你是否也在配置页面中删除它? \ config \ config.php

确保$ config ['index_page'] =''; 并与这些线


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

在Windows和Linux机器的测试和调整,这样的config.php文件,当我有这个问题,添加.htaccess文件。



    if (file_exists(FCPATH.'.htaccess')) { 
    $config['index_page'] = ''; 
    } 
    else { 
    $config['index_page'] = 'index.php'; 
    } 

没有.htacsess文件 首先泰斯特如果一切顺利,将在根目录下的.htaccess文件,然后再试一次。

如果仍然出现此错误,请查看您已编码的链接,并查看index.php是否在其中提及。

相关问题