Mod-Rewrite veya PHP yönlendirici?

1 Cevap php

Ben iki seçenekten biri ile benim istekleri yönlendirme tartışmaya duyuyorum:

Seçenek 1: Mod-Rewrite ve $_GET rota yükleme için index.php yazılı huni ile basit yakalama rota ...

#default routing
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule    ^blog/([0-9]+)?$    index.php?rt=blog&params=$1    [L,QSA]
// ..more custom routes, and then a default route
RewriteRule    ^([A-Za-z]+)/([A-Za-z]+)/(.*)?$    index.php?rt=$1/$2&params=$3    [L,QSA]

Seçenek 2: Ön Kontrol basitçe rota istekleri ve yönlendirme işlemek için bir PHP yönlendirme sınıf oluşturmak ...

#default routing
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA]

/* --- on front controller, process $_GET['rt'] --- */

Günün sonunda, hangi güvenlik açısından daha kolay, daha hızlı koşmak ve bakımı daha kolay olacak?

başka herhangi bir fikir?

NOT: Ben bilinen bir çerçeve çalışan değilim. Bunu öğrenmek için kendi MVC deseni inşa ediyorum.

1 Cevap

Genellikle MVC çerçeveler içinde, bu tür bir şey, genellikle en iyi (index.php veya benzeri adında) bir ön denetleyicisi tarafından işlenir. Daha sonra böylece kullanıcıların güzel, temiz yolları görmek URL'lerin tüm index.php gizlemek için mod_rewrite kullanımı.

Ayrıca Apache rewrite direktifleri daha PHP işlemek için daha kolay oluyor. PHP çok daha esnek ve yazmak / anlamak daha kolaydır. Ben şimdi bunu düşünüyorum, ben hiç mod_rewrite orada herhangi bir web çerçevesi için tek yönlendirme motoru olarak kullanılan gördüm emin değilim.

Kod ikinci kelepir sizin rewrite direktifleri için gitmek yoludur.