6

XAMPP で CodeIgniter を使用しています。関数の URL (例: function1 )にリダイレクトしても問題はありませんでした。

http://localhost/function1

WAMPに変えたらトラブル発生。function1にリダイレクトできませんでした。ただし、function1は引き続き次の場所でアクセスされます。

http://localhost/index.php/function1

index.php を削除するように WAMP と CodeIgniter を設定するには? XAMPP を使用して実行するようにfunction1を実行できるようにするためです。

ありがとうございました。

4

4 に答える 4

10

次のことを試してください。

1) アプリケーション フォルダーと並行して .htaccess ファイルを作成し、次のコードをコピーして貼り付けます。

RewriteEngine On
RewriteBase /CodeIgniter/
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

2)以下のように、アプリケーション フォルダ内$config['index_page']を空白に変更します。config.php

$config['index_page'] = '';

3) rewrite_moduleApache の " " を有効にします。WAMP シンボル -> Apache -> Apache モジュール -> rewrite_module をクリックします。

これで、url に index.php がなくてもサイトにアクセスできます。

于 2013-08-13T12:15:54.583 に答える
2

WAMP 環境の Codeigniter で URL から index.php を削除するために必要な手順は 3 つだけです。

1) アプリケーション ホルダーと並行して .htacess ファイルを作成し、次のコードをコピーするだけです。

RewriteEngine On
RewriteBase /CodeIgniter/
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

2) 以下のように、アプリケーション フォルダーの config.php で $config['index_page'] を空白に変更します。

$config['index_page'] = '';

3) apache の「rewrite_module」を有効にします。

Apache を再起動すれば完了です。

詳細 : http://sforsuresh.in/removing-index-php-from-url-of-codeigniter-in-wamp/

于 2014-02-27T10:16:10.337 に答える
2

http://ellislab.com/codeigniter/user-guide/general/urls.htmlにあるCodeIgniter の公式ドキュメントで提案されている mod_rewrite ルール

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

WAMPで私にとって完璧に機能しました

これも機能します:

<IfModule mod_rewrite.c>

    Options +FollowSymLinks
    RewriteEngine on

    # Send request via index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

これらの 2 つのバリエーションでは、唯一の違いは状態です。基本的に重要なのは書き換えルールです。条件はお客様の要件によって異なります。

これらは両方とも、以前は WAMP で機能していませんでした。ただし、問題は Apache の設定にありました。rewrite_module が有効になっていませんでした。したがって、有効になっていることを確認してください。phpinfo() を使用して有効になっているかどうかを確認し、ロードされたモジュールのリストを確認できます。

有効になっていない場合は、WAMP サーバー マネージャー (タスク バーからアクセス) を使用して有効にすることができます。

また

httpd.conf を開き、LoadModule rewrite_module modules/mod_rewrite.soコメントが解除されているかどうかを確認します。

変更を有効にするには、WAMPserver を再起動する必要があります。

于 2014-05-15T08:24:44.613 に答える