301転送の書き方について質問いたします。
転送したいURL
https://○○○.com/s1/
https://○○○.com/s2/
https://○○○.com/s3/
https://○○○.com/s4/
や
https://○○○.com/s1/s2/
https://○○○.com/s2/s4/
https://○○○.com/s1/s2/s3/s4/
など
s1~s4の組み合わせのURLがあります。
これを
s1を含む場合は s=1
s2を含む場合は s=2
s3を含む場合は s=3
s4を含む場合は s=4
https://△△△.com/?s=1
としてGETパラメータのURLに転送したい
https://○○○.com/s2/s4/
の場合は
https://△△△.com/?s=2&s=4
https://○○○.com/s1/s2/s3/s4/
の場合は
https://△△△.com/?s=1&s=2&s=3&s=4
としして301転送をかけたいと思います。
RewriteCond %{REQUEST_URI} ^(.)/s1/(.)
RewriteRule . /?s=1 [L,R=301]
と含む場合の条件を指定してチャレンジしましたが
https://○○○.com/s2/s4/のように複数の場合、パラメーターを追記する方法がわかりませんでした。
4つの組み合わせを
RewriteCond %{REQUEST_URI} ^(.)/s1/
RewriteRule . /?s=1 [L,R=301]
RewriteCond %{REQUEST_URI} ^(.)/s1/s2/
RewriteRule . /?s=1&s=2 [L,R=301]
RewriteCond %{REQUEST_URI} ^(.*)/s1/s4/
RewriteRule . /?s=1&s=4 [L,R=301]
とひとつずつ書けばいいのでしょうが、他にも
https://○○○.com/a1/a2/
https://○○○.com/x1/x2/
などのパターンもあるために膨大になるため、簡潔に書く方法がないかと思い質問いたしました。
何か方法はあるのでしょうか
回答2件
あなたの回答
tips
プレビュー