0

我有奇怪的问题。我必须修改旧的 CodeIgniter 项目。

我使用本地 Windows XAMPP 服务器进行开发,我的项目正在使用 XAMPP。

几周前我重新安装了操作系统。我安装了 XAMPP(相同版本)并将 htdocs 从默认值c:\xampp\htdocs移至e:\htdocs. 我对移动 htdocs 的 XAMPP 没有任何问题(其他非 codeigniter 项目运行良好)。

今天我将应用程序从生产服务器复制到我的本地主机,但它不工作。

当我尝试在浏览器中打开时:http://localhost/myprojectfolder我得到空白页。

在本地 Windows XAMPP 上干净的 CodeIgniter 安装可以工作(但是干净的安装不使用 .htaccess)。

项目在具有 .htaccess 文件的生产 Web 服务器上正常工作,如下所示:

<IfModule mod_rewrite.c>

    RewriteEngine On
    RewriteBase /myprojectfolder

    ### Canonicalize codeigniter URLs

    # If your default controller is something other than
    # "welcome" you should probably change this
    # RewriteRule ^(welcome(/index)?|index(\.php)?)/?$ / [L,R=301]
    # RewriteRule ^(.*)/index/?$ $1 [L,R=301]

    # Removes trailing slashes (prevents SEO duplicate content issues)
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.+)/$ $1 [L,R=301]

    # 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]

    # 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>

    # Without mod_rewrite, route 404's to the front controller
    ErrorDocument 404 /index.php

</IfModule>

我不记得,我是否有单独的 .htaccess 文件用于 localhost。如果我有 - 它被生产服务器的文件覆盖。

项目中使用的 MySQL 数据库在两台服务器上都是相同的(名称、用户、密码、结构等)。

$config['uri_protocol']的设置为AUTO,它正在使用AUTO.

我的文件权限htdocs很好(启动 httpd.exe 服务的用户可以在那里读写)。

我的路由:

$route['default_controller'] = "home";
$route['admin'] = 'admin/start';
$route['404_override'] = '';

有任何想法吗?

4

0 回答 0