Benim ilk terbiyeli ölçekli PHP sitesi geliştiriyorum ve ben "doğru yolu" uygulamasında temiz / / dost oldukça URL'leri işlemek için (orada varsayarak hiç böyle bir şey) ne hakkında biraz kafam karıştı.
Ben onu görmek yolu, iki ana seçenek (Ben örnek olarak basitleştirilmiş bir sosyal haber sitesi kullanacağız) vardır:
1.. Tüm potansiyel URL'leri işlemek için mod_rewrite kullanın. Bu aşağıdaki benzer, fakat özdeş değildir görünecektir:
RewriteRule ^article/?([^/]*)/?([^/]*)/?([^/]*) /content/articles.php?articleid=$1&slug=$2
RewriteRule ^users/?([^/]*)/?([^/]*) /content/users.php?userid=$1&username=$2
RewriteRule ^search/?([^/]*)/? /content/search.php?query=$1
. 2. Bazı işleyici komut için her şeyi geçmek ve detayları hakkında endişe edelim:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) handler.php?content=$1
Açıkçası bu "hava kod" Tüm denenmemiş ama noktası olsun.
- Diğerinden daha ciddi daha yavaş olacak bu iki yoldan biri mi? Bunun için. Htaccess dosyaları kullanmak zorunda olacak beri Muhtemelen mod_rewrite, yavaştır.
- Bu yaklaşımlardan birini ciddi dezavantajları var mı?
- Bir "en iyi uygulama" bu tür bir şey için var mı, yoksa her geliştirici kendileri için karar eğilimi bir şeydir? (Ben tam olarak nasıl yaptıklarını araştırdık zaman değdi daha fazla sorun oldu gerçi) WordPress seçeneği iki kullanır biliyorum.