1

アップロードしたファイルを/storage/ この方法で保存します

  • public-adam-luki-uploads-123783.jpg

  • park-hanna-adel-propic-uploads-787689.jpg

写真の説明をスライスするため、「-」カウントは不明

ユーザーが次のようにアクセスできるようにしたい

  • http://site.com/public/adam/luki/uploads/123783.jpg

  • http://site.com/park/hanna/adel/propic/uploads/787689.jpg

ここも同じ問題だと思います

変数の数が不明な mod_rewrite

しかし、私は mod_rewrite モジュールが初めてなので、できません

正しいリライタルールで私を助けてくれることを願っています

4

1 に答える 1

0

リンク先の質問は、実際にあなたがしようとしていることを実行しません (原則は同じですが)、URL をGET変数に変換することです。

/変換したいだけの場合-は、ループで実行される単純な書き換えルールを使用できます。

ReWriteRule ^(.*)/(.*)$ $1-$2 [L]

もちろん、それにはいくつかの注意事項があります...

まず、実際のディレクトリ/ファイルにアクセスしようとしても、ルールは切り替えられ/-404 のままになります。条件を追加することでこれを回避できます。実際のファイルの書き換えを停止するには:

RewriteCond %{REQUEST_FILENAME} !-f

ただし、一致を画像 ( jpg)のみに制限することをお勧めします。

RewriteCond %{REQUEST_FILENAME} !-f
ReWriteRule ^(.*)/(.*)\.jpg$ $1-$2.jpg [L]

優先ソリューション

ReWriteCond %{REQUEST_FILENAME} !-f
ReWriteRule ^images/(.*)/(.*)uploads[-/](\d+)\.jpg$ images/$1-$2uploads-$3.jpg [L]
RewriteCond %{REQUEST_FILENAME} !-f
ReWriteRule ^images/(.*)$ storage/$1 [L]

このソリューションでは、次のような URL を使用する必要があります。

http://site.com/images/park/hanna/adel/propic/uploads/787689.jpg

疑似ディレクトリは、URL が実際にリダイレクトしたいものであり、サイト上の他の画像/リンクを壊さないことを確認imagesできることを意味します。

上記のルールは (上記の例のように) URL を受け取り、次のように変換します。

images/park/hanna/adel/propic/uploads/787689.jpg    <--- Original
images/park-hanna/adel/propic/uploads-787689.jpg
images/park-hanna-adel/propic/uploads-787689.jpg
images/park-hanna-adel-propic/uploads-787689.jpg
images/park-hanna-adel-propic-uploads-787689.jpg
storage/park-hanna-adel-propic-uploads-787689.jpg   <--- Final
于 2013-10-11T13:32:29.523 に答える