Içine birden htaccess kuralları yeniden birleştiren

1 Cevap php

Öncelikle şunu söyleyeyim: Ben regex ve htaccess beceremiyoruz. Ben düzgün değişkenlere url kesimleri ayrıştırmak bir kural yapmaya çalışıyorum. Şimdiye kadar bu var:

RewriteRule ^([^/]+)/?$ index.php?query[]=$1 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/?$ index.php?query[]=$1&query[]=$2 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ index.php?query[]=$1&query[]=$2&query[]=$3 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ index.php?query[]=$1&query[]=$2&query[]=$3&query[]=$4 [QSA,L]

Bu çeşit, çalışır, ama olması gerekenden daha daha uzun hissediyorum; ve ne 5 veya 6 veya 7 değişkenleri isterseniz? Bunu yazmak için bir daha yoğunlaştırılmış bir yolu var mı?

Ben sorgu dizi tükürmek zaman da, ilk eleman her zaman index.php. Bu ne ile oluyor?

1 Cevap

RewriteRule sorgu parametrelerine PathInfo dönüştürmek için kullanabilirsiniz, ama sadece Apache HTTP Server MultiViews etkinleştirmek ve ($_SERVER['PATH_INFO'] index.php {[az yardımı ile kullanmak etmeyin 3)]}.