0

奇妙な問題があります。古い CodeIgniter プロジェクトを変更する必要があります。

開発にローカルの Windows XAMPP サーバーを使用しており、私のプロジェクトは XAMPP で作業していました。

数週間前、オペレーティング システムを再インストールしました。XAMPP (同じバージョン) をインストールし、htdocs をデフォルトc:\xampp\htdocsから に移動しましたe:\htdocs。htdocs を移動した XAMPP に問題はありませんでした (他の非 codeigniter プロジェクトは正常に動作しています)。

今日、本番サーバーからローカルホストにアプリケーションをコピーしましたが、機能しません。

ブラウザで開こうとすると、http://localhost/myprojectfolder空白のページが表示されます。

ローカル Windows での CodeIgniter のクリーン インストール XAMPP は機能します (ただし、クリーン インストールでは .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 ファイルがあったかどうか覚えていません。私が持っていた場合-本番サーバーからのファイルによって上書きされました。

プロジェクトで使用される MySQL データベースは、両方のサーバーで同一です (名前、ユーザー、パスワード、構造など)。

$config['uri_protocol']はに設定されてAUTOおり、XAMPPで動作していましたAUTO.

私のファイルのアクセス許可htdocsは問題ありません (httpd.exe サービスを開始しているユーザーはそこで読み書きできます)。

私のルーティング:

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

何か案は?

4

0 に答える 0