apacheのmod_rewriteの正規表現で質問です。
例えば、
https://www.hoge.com/aaa/bbb/123
は
https://www.hoge.com/new.php?x=aaa&y=bbb&z=123
にリライトし、同時に、
https://www.hoge.com/aaa/bbb/123_xyz
は
https://www.hoge.com/new.php?x=aaa&y=bbb&z=123_xyz
にリライトしたいのです。
aaa,bbbにあたる所は半角英字列、123の所は半角数字列で他の値もあり得ます。
ただし_xyzだけは固定的な文字列でいつも「_xyz」とする場合、
RewriteRule ^([a-z]+)/([a-z]+)/([0-9]+)(_xyz|)$ new.php?x=$1&y=$2&z=$3$4 [L]
という正規表現で実現できました。
妙な質問なのですが、このグループ化の正規表現部分
(_xyz|)
として、「_xyzあるいは空文字列に一致」とするグループ表記に問題はないのでしょうか?
orの|の右側に具体的な文字列が無くて何も書かないのがちょっと気持ち悪くなってきました。
宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/01 15:49