1

サイトの動的サムネイル生成機能に取り組んでおり、mod_rewrite 機能を使用して、既に生成された画像をすばやくキャッシュしています。

次の書き換え条件でこれを行います。

RewriteCond  %{DOCUMENT_ROOT}%{REQUEST_FILENAME}    !-s
RewriteRule  ^/thumber/images/([0-9]+)_([0-9]+)_(.+)$  /thumber/thumbnail.cfm?src=$3&w=$1&h=$2  [PT,L,QSA]

最初の行は、要求された画像がまだ存在しない場合にのみ、書き換えルールがスクリプト ページに転送されるようにします。

これは Apache 2 では正常に動作しますが、ISAPI Rewrite 3 Lite を使用して同じルールを IIS サーバーに移動すると、サムネイルが既に生成されている最初のリダイレクトの後でも、常にファイルが存在しないかのように動作します。

つまり、何らかの理由で!-sフラグがまったく機能していないように見えます。!-fも試してみましたが、変化はありません。

おそらく、このバージョンの ISAPI Rewrite は、何らかのキャッシュ情報を使用して、ファイルが存在するかどうかを判断しているのではないかと考えています。

それ以外は、Apache では機能するのに ISAPI では機能しない理由がわかりません。

助けてください!

ありがとう

4

1 に答える 1

1

わかりました、私は問題を見つけました!

それはすべて許可の問題に帰着しました。ISAPI Rewrite プロセスには、生成されたサムネイルを書き込んでいたフォルダー (/thumber/images/) の内容を読み取るための十分なアクセス許可がなかったため、ファイルが存在しないと見なされました。

解決策は、適切な権限を適切なユーザーに割り当てることでした。

このブログ投稿の手順に従いました。

http://vbscriptautomation.net/29/wordpress-permalinks-isapi-rewrite-3-windows-plesk/

ありがとう

于 2013-01-18T23:54:20.087 に答える