0

この件はここで何度も見られていることは知っていますが、ここで私の問題を解決する人は誰もいません...

Codeigniter で動作するアプリケーションがあります。URL の index.php を削除しようとしていますが、今日は呪われているようです。

config.php ファイルにあるものは次のとおりです。

$config['base_url']   = "http://".$_SERVER['SERVER_NAME']."/";
$config['index_page']    = "";
$config['uri_protocol']  = 'AUTO';

そして、これが私の.htacessです(CIが示唆するようなものです):

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

これで、URL の index.php を削除できなくなりました。実際、それはうまく削除されますが、画面にきれいな 404 が表示されます。

phpinfos()mod_rewrite が正常に有効化されているか確認しましたが、こちら側は問題ありません。

**編集**

私は自分のApacheログをチェックしました.これが私が持っているものです:

[Wed Jul 18 12:27:08 2012] [error] [client 127.0.0.1] File does not exist: [PATH]/trunk/user

実際のパスは次のとおりです。

[PATH]/trunk/application/controllers/user

このすべてが index.php ファイルに設定されているのを見ましたが、呼び出されていないようです...

誰かがこれを解決するために私に何か提案してもらえますか?

ありがとう !

4

2 に答える 2

0

これを試してください:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

最初の条件は、要求が有効なファイルに対するものではないことを確認し、2番目の条件は、要求が有効なディレクトリに対するものではないことを確認します。ファイルシステムに実際には存在しないファイルまたはフォルダーに対するすべての要求は、index.phpを介して送信されます。

于 2012-07-18T10:15:33.303 に答える