次のように、存在しないページをデフォルトのページにリダイレクトするために、htaccess ファイルにいくつかの mod_rewrite ルールがあります。
http://domain.tld/category1/subcategoryX
http://domain.tld/category1/subcategoryX/
http://domain.tld/category1/subcategoryX/property1
http://domain.tld/category1/subcategoryX/property1/
すべてリダイレクト
http://domain.tld/category1/subcategoryX/property1/value1
サブカテゴリとプロパティにはページがなく、値だけがあるため、このリダイレクトを行っています。
ルールは次のとおりです。
RewriteRule ^category1/[a-z-]+$ http://%{HTTP_HOST}%{REQUEST_URI}/property1/value1 [R,NC,L]
RewriteRule ^category1/[a-z-]+/$ http://%{HTTP_HOST}%{REQUEST_URI}property1/value1 [R,NC,L]
RewriteRule ^category1/[a-z-]+/property1$ http://%{HTTP_HOST}%{REQUEST_URI}/value1 [R,NC,L]
RewriteRule ^category1/[a-z-]+/property1/$ http://%{HTTP_HOST}%{REQUEST_URI}value1 [R,NC,L]
ルールは機能していますが、ちょっと冗長です。ルールを圧縮するためのトリックはありますか? 最初の 2 つの違いは末尾のスラッシュだけで、最後の 2 つも同様です。