【问题标题】:Codeigniter site was not working in live serverCodeigniter 站点无法在实时服务器中运行
【发布时间】:2018-02-27 21:11:49
【问题描述】:

谁能帮帮我,

我的站点在登台服务器上运行良好,我将站点实时服务器移动到出现 HTTP ERROR 500 的位置。

我的 htaccess 文件是

<IfModule mod_rewrite.c>
    RewriteEngine On
    #RewriteBase /

    #Removes access to the system folder by users.
    #Additionally this will allow you to create a System.php controller,
    #previously this would not have been possible.
    #'system' can be replaced if you have renamed your system folder.
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #When your application folder isn't in the system folder
    #This snippet prevents user access to the application folder
    #Submitted by: Fabdrol
    #Rename 'application' to your applications folder name.
    RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #Checks to see if the user is attempting to access a valid file,
    #such as an image or css document, if this isn't true it sends the
    #request to index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to index.php, and everything works as normal.
    # Submitted by: ElliotHaughin

    ErrorDocument 404 /index.php
</IfModule>

两台服务器中都有相同的 htaccess 文件。 mod_rewrite 已启用,服务器端一切正常。有人可以帮我解决问题吗

【问题讨论】:

  • /var/log/apache2/error.log 说什么?
  • CI 无需特殊的.htaccess 文件即可工作。
  • 你的根文件夹有什么权限?上次我遇到这个问题就是这样。

标签: .htaccess codeigniter http


【解决方案1】:

不完全是答案,但对于评论来说太大了:

switch (ENVIRONMENT) {
    case 'development':
        error_reporting(~E_DEPRECATED);
        ini_set('display_errors', 1);
        break;
    case 'testing':
    case 'production':
        error_reporting(~E_DEPRECATED);
        ini_set('display_errors', 1);
        break;
    default:
        header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);
        echo 'The application environment is not set correctly.';
        exit(1); // EXIT_ERROR
}

将production 更改为与development 具有相同的error_reporting,这样您将得到错误而不是看到通用的500 页面。

我不认为你的 .htaccess 文件有问题,因为你会得到 400 而不是 500(内部服务器错误)。

【讨论】:

    【解决方案2】:
    you can try this:
    
    upload htaccess file in root
    
    <IfModule mod_rewrite.c>
    
        RewriteEngine On
        RewriteBase /
        Options -Indexes
    
    
        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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-07
      • 2018-07-19
      • 1970-01-01
      • 1970-01-01
      • 2018-03-14
      • 2019-03-03
      相关资源
      最近更新 更多