0

私はユキヒョウを使用しており、ローカル環境があり、URL の index.php を取り除こうとしています...ここに私が持っているものがあります

DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]

私の設定ファイルにはこれがあります

$config['index_page'] = "";

しかし、index.phpなしでページにアクセスすると機能しません

これは動作します

http://localhost/ci_example/index.php/site

これはしません

http://localhost/ci_example/site

これを追ってみた

たぶん、ローカルのconfファイルで何かをする必要があります...しかし、私は本当に何を知らないのか、Apacheコマンドラインを再起動する方法がわかりません...何かアイデアがあれば

4

5 に答える 5

4

「うまくいかない」とはどういう意味ですか?エラーが出ますか?白い屏風?500エラー?

httpd.conf ファイルのAllowOverride設定が に設定されていることを確認しましたAllか? そうでない場合は、.htaccess ファイルを使用していない可能性があります。つまり、書き換えルールは使用されません。

于 2010-12-23T01:25:10.190 に答える
1

この .htaccess コードを試して、ベース パスを変更してください。すべての godaddy およびその他のホストニグで機能します。


オプション

オプション -Multiviews オプション +FollowSymLinks

mod 書き換えを有効にする

RewriteEngine オン

サイトのルートの場所

サブディレクトリを記述する場合は、/subdirectory と入力します

RewriteBase /winscore

ユーザーによる CodeIgniter システム フォルダーへのアクセスを削除します。

さらに、これにより System.php コントローラーを作成できます。

以前は、これは不可能でした。

システム フォルダの名前を変更した場合は、'system' を置き換えることができます。

RewriteCond %{REQUEST_URI} ^system.* RewriteRule ^(.*)$ /index.php?/$1 [L]

ユーザーが有効なファイルにアクセスしようとしているかどうかを確認します。

画像や css ドキュメントなど、これが true でない場合は、

index.php へのリクエスト

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d

この最後の条件により、画像と css へのアクセスが可能になります

フォルダー、および robots.txt ファイル

RewriteCond $1 !^(index.php|images|robots.txt|css)

RewriteRule ^(.*)$ index.php?/$1 [L]


于 2011-01-06T11:49:02.813 に答える
0

これは、OS Xで私にとってうまくいくものです。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
</IfModule>

上記は、変更なしで機能するはずです。フォルダーでホストしている場合は、http: //myserver.com/my_app/ のように、両方の場所で/index.php/my_app/index.phpに変更します。

必ず config.php に入り、url_protocolPATH_INFOに変更してください。

于 2010-12-23T19:18:24.847 に答える
0

.htaccess ファイルに RewriteBase を追加してみてください

RewriteEngine On
RewriteBase /ci_example
于 2010-12-23T02:03:53.983 に答える