2012-04-26 10 views
1

を要求されているところの私は自分のWebアプリケーションの現在の状況がある:、関係なく、それは

htmlファイルは、/のは、{電流経路を}としましょうから画像を要求しますこのSITで

domain.com/app/main/welcome/ 

(メインクラスから歓迎のメソッドを取得する)

:ので、多くの場合、MVCの私のURLの変更を使用しての画像/

uationは、ビューは、私は、スクリプトがそれから何かを呼び出す場合、どのような状況では、画像のサブフォルダだと必要があるだろう

domain.com/app/main/welcome/images/ 

から画像を要求します、固定されたフォルダにリダイレクトする(のがdomain.com/app/を言わせて画像/)。動作しません

RewriteRule ^(.*)/app/(.*)/images/(.*)$ $1/app/images/$3 [R=301,L,QSA] 

はこれまでのところ、私はこれを試してみました。

私の意図をリダイレクトすることです:

domain.com/app/{anything}/images/ 

domain.com/app/images/{the requested image} 

にこれは通常、私はストレート検索ですべての答えを見つけ、stackoverflowの中に私の最初の投稿ですが、これには私にはありませんそれを行う方法を知っている。

Btw、固定パスですべてのビューのreplace_allを単純に行うことができますが、将来変更される可能性があるため、これははるかにエレガントな方法です。

答えて

0

あなたは試すことができます:

RewriteRule ^/?app/.+/images/(.*)$ /app/images/$1 [R=301,L,QSA] 

をあなたは、URLが恒久的にかかわらず可能とちょうど一致し、ちょうどバックグラウンドで残りの部分を変更するためにリダイレクトを変更する方法を決定することができます。あなたにも別名を検討する必要があります:{電流経路は}時にフォルダ

Alias /app/{currentpath}/images /app/images 

またはAliasMatch

AliasMatch ^/app/.+/images(.*) /app/images$1 

、その後変更最後の部分に充填する必要がある

を...変更しても、少し違いますが、mod_aliasで永久にリダイレクトすることもできます:

Redirect 301 /app/{currentpath}/images http://domain.com/app/images 

RedirectMatchもあります。

参照:http://httpd.apache.org/docs/2.0/mod/mod_alias.html

+0

ありがとうございました。どちらのソリューションも機能しましたが、より洗練されたAliasMatchは残っていました。 ありがとう – manu144x

0

必要なルールはこれです:

RewriteRule ^(app/)[^/]+/(images/.*)$ $1$2 [R=301,L,NC] 
関連する問題