2

次の形式で要求されたすべてのファイルを許可する書き換えルールを取得しようとしています。

/assets/files/uploads/306/This-is-an-awesome-file.jpg

file.php、および次のような要求されたファイルによって処理されます。

/assets/files/uploads/306.jpg

一致せず、通常どおりファイルを返す

パス:/assets/files/uploads/がそこにあることが保証され、4番目のトークンは「number」。「extension」または「number」/「title」。「extension」のいずれかであることが保証されます。

4

1 に答える 1

1

より一般的な正規表現では、/と。逃げた

^\/assets\/files\/uploads\/[0-9]+\/[a-zA-Z0-9_]+\.[a-zA-Z]+$

+は、直前の文字が少なくとも1回出現する必要があることを意味します。[something]は有効な文字範囲を指定するため、[az]は小文字を意味し、[abc]はabcのみを許可することを意味します。したがって、ここでは、数字(少なくとも1桁)、スラッシュ、ファイル名の順である必要があります(ファイル名には英数字とアンダースコアを想定していますが、[a-zA-Z0-9_]には他のものを含めることができます。それは合法です)、その後に。およびファイル拡張子。

^は行の開始を示し、$は終了を示します。これらが必要な場合と不要な場合があります。

Apache RewriteRuleに精通していないので、正規表現にどのような影響があるのか​​わかりません。

于 2013-03-19T20:27:29.323 に答える