1

私には非常に具体的な要件があり、率直に言うと、正規表現がほとんど苦手です。

プログラムはさまざまなサイズの画像を生成し、画像と同じ名前のフォルダーに配置します。生成されたさまざまな画像は、サイズに基づいて新しい名前を取得します。

例: /assets/images/waterlilly/0800x0600.jpg、/assets/images/waterlilly/0400x0300.jpg

SEO のため、ファイル名はむしろ望ましくない...だから、画像タグの src 属性が /assets/images/0800x0600/waterlilly.jpg である場合、htaccess RewriteRule の正規表現を「単純に」書くことができると思った...

もちろん、画像のサイズを変更するツールのプログラミングを変更することは、現在のところオプションではありません (残念ながら)

だから私が持っている正規表現は次のとおりです。

(.*?)+/[0-9]+x[0-9]+/(.*?)+\.(.*?)+

正規表現が一致するテスト ファイル「/assets/images/0800x0600/waterlilly.jpg」の場合、次のようにするにはどうすればよいですか?

$1 = /assets/images/
$2 = 0800x0600
$3 = waterlilly
$4 = jpg

前もって感謝します!

4

1 に答える 1

0

この正規表現はあなたのために働くはずです:

^(.+?)/([^/]+)/([0-9]+x[0-9]+)\.(.*)$

そして、これはあなたのための RewriteRule です:

RewriteRule ^(.+?)/([^/]+)/([0-9]+x[0-9]+)\.(.*)$ /$1/$3/$2.$4 [L]
于 2013-07-17T10:32:55.457 に答える