4

.htaccess mod rewrite を使用して、URL を書き換え、そのファイルが存在するかどうかを確認し、そうでない場合は、最初の書き換え中に削除された元の URL の一部を使用して別の URL に再度書き換えます。

たとえば、元の URL がこの場合

/images/3001/zebra.jpg

/images/cached/zebra.jpg ファイルが存在するかどうかを確認し、存在する場合は提供したいと思います。

そうでない場合は、 /image.php?id=3001 に書き換えたいと思います

どうもありがとう、フィル

4

1 に答える 1

3

ドキュメント ルートの htaccess ファイルで、既存のルールの前に次のルールを追加します。

RewriteEngine On

# cached copy exists
RewriteCond %{REQUEST_URI} ^/images/[0-9]+/(.+)$
RewriteCond %{DOCUMENT_ROOT}/images/cached/%1 -f
RewriteRule ^ /images/cached/%1 [L]

# cached copy doesn't exist
RewriteCond %{REQUEST_URI} ^/images/([0-9]+)/(.+)$
RewriteCond %{DOCUMENT_ROOT}/images/cached/%2 !-f
RewriteRule ^ /image.php?id=%1 [L]
于 2013-03-03T08:09:36.663 に答える