1

私はこの部分で苦労しています。さて、codeigniterを使用してログインページを作成しました。パス全体が.htaccesshttp://localhost/CodeIgniter_2.1.3/index.phpを使用して書き直されます。http://localhost/loginそれは問題なく動作しますが、問題はログインに成功した後、redirect('next_page');を使用してページが次のページにリダイレクトされることです。URLはのhttp://localhost/CodeIgniter_2.1.3/index.php/next_page代わりになるからhttp://localhost/next_pageです。その部分の書き直しも作成しました:

RewriteRule ^events$ /CodeIgniter_2.1.3/index.php/events [L,NC]

またhttp://localhost/next_page、アドレスバーにを入力すると、ページは問題なく表示されます(ログインとこ​​のページにルールを適用していないため)。また、redirect('http:// localhost / events');を使用してみました。これも問題なく機能しますが、それでもこれが実際の解決策ではないことはわかっています。ちなみに、私の.htaccessはwampserverのwwwフォルダーにあります。これを解決する方法はありますか?

4

2 に答える 2

2

まず、ドメインのROOTフォルダーはcodeigniterフォルダーである必要があります

例えば

c:/www/codeigniter_2.1.3/ 

ファイルをcodeigniter_2.1.3からルートフォルダに移動するか、codeigniterフォルダをルートにします。

次に、通常の.htaccessリライトを次のように使用します。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|images|robots\.txt|css)
RewriteRule ^(.*)$ index.php/$1 [L]

そして、Codeigniter ROUTERを使用して、必要に応じてページを作成します

例:

$route['login'] = 'welcome/login';

http://localhost/loginウェルカムコントローラーのログイン機能からロードするページを設定します。configフォルダーのroutes.phpで$routesを設定できます。

PS>各ページにindex.phpを表示したくない場合は、Config / config.phpでindex_pageを確認し、空白にします。

于 2012-10-24T04:41:55.767 に答える
1

ローカルホストに仮想ホストを追加したいだけかもしれません。これを行う方法について、ステップバイステップで説明します

今、あなたがしなければならないのはあなたのフォルダの.htaccess中にファイルを作成することだけです。そしてそれはURLの中だけを削除します。CodeIgniter_2.1.3index.php

于 2012-10-24T04:42:25.377 に答える