0

そこの!プロジェクトでこの .htaccess ファイルを使用します。

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

Apache 2.2でうまく機能します

最近、Zend Server CE を使い始めましたが、書き換えルールが機能しませんでした。そして、これは機能します:

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

これは、Apacheのドキュメントに次のように記載されています。

変数SCRIPT_FILENAMEREQUEST_FILENAMEには同じ値 (Apache サーバーの内部 request_rec 構造のファイル名フィールドの値) が含まれます。最初の名前は一般的に知られている CGI 変数名で、2 番目の名前はREQUEST_URI(request_rec の uri フィールドの値を含む) の適切な対応物です。

誰でも理由を理解できますか?感謝!

4

1 に答える 1

1

ごめんなさい、みんな!私は間違いを犯しました、これはうまくいきます:

   `RewriteEngine On`
   `RewriteCond %{SCRIPT_FILENAME} !-f`
   `RewriteCond %{SCRIPT_FILENAME} !-d`
   `RewriteRule ^(.*)$ /index.php  [L]`

FastCGI は index.php/anything_here のような URL を実際の url として処理しているようで、pathinfo を含む index.php ではありません。

于 2010-06-11T02:15:59.453 に答える