私はこの正規表現に本当に苦労しています。
「グループ」機能の新しいバージョンを立ち上げていますが、同じ URL ですべての古いグループをサポートする必要があります。幸いなことに、これら 2 つの機能は URL パターンが異なるため、これは簡単でしょうか? 右?
- 旧: domain.com/group/$groupname
- 新規: domain.com/group/$groupid/$groupname
古いグループを古いスクリプトにリダイレクトするために正規表現で使用していた現在の正規表現は次のとおりです。 RewriteRule ^(group/([^0-9/].*))$ /old_group.php/$1 [L,QSA]
domain.com/group/2009-neato-groupのようなグループが現れるまではうまく機能していました。
その時点で、正規表現が一致し、新しいグループが古いコードに強制されました。これは、数字が含まれていたためです。おっと。
それで、リダイレクトできるように古いパターンに一致する正規表現について何か考えはありますか?
一致する必要があるパターン:
- グループ/私の古いグループ
- グループ/別の古いグループ/
- group/123-another-old-group-456/a-module-inside-the-group/
一致できないパターン:
- グループ/12/新しいグループ
- グループ/345/別の新しいグループ/
- group/6789/a-3rd-group/module-abc/
私が考えた最善の方法は、「group-slash-numbers-slash」で始めることはできませんが、それを正規表現に変換することはできませんでした. したがって、そのパターンを否定する何かがおそらく機能するでしょう。
ありがとう