0

動的なメインページを備えたWebサイトがあり、1つの画像のみが変更され、URLは次のようになります。

http://mysite.com/?v=imagename.jpg

これらすべてのURLを次の場所にリダイレクトするルールを見つけようとしています。

http://mysite.com/imagename

私が試してみました:

RewriteCond %{QUERY_STRING} ^(([^&]*&)*)v=([^&]+)&?(.*)?$
RewriteRule ^index\.php$ http://mysite.com/3?%1%4 [L,R=301]

と:

RewriteRule ^index.php?v=([a-zA-Z]+)/([0-9]+)$ http://mysite.com/$1

と他の無数のバリエーションが、何も機能していないようです..私は何が間違っているのですか?

4

1 に答える 1

1

クエリ文字列を含むURLにアクセスするブラウザをなしのURLにリダイレクトするには、次の手順を実行する必要があります。

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(index\.php)?\?v=([^&\ ]+?).jpg&?([^\ ]*)
RewriteRule ^ /%2?%3 [L,R=301]

次に、ブラウザがリダイレクトを取得した後、クエリ文字列なしでURLを要求しようとします。実際にコンテンツがない場合は、クエリ文字列のURI/imagenameに書き直す必要があります

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ /?v=$1.jpg [L,QSA,NC]
于 2012-10-02T18:58:46.080 に答える