リンク先の質問は、実際にあなたがしようとしていることを実行しません (原則は同じですが)、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