Frage

Ich habe es erwähnt in zahlreichen blogs im Netz, aber ich glaube, es soll hier diskutiert werden.Was können wir tun, wenn wir haben ein MVC-framework (ich bin daran interessiert, ZEND) in PHP, aber unser Gastgeber nicht bieten mod_rewrite?Gibt es "short-cuts"?Können wir transfer-Kontrolle in jeder Art und Weise (so dass eine Zuordnung auftreten können, zwischen den Seiten)?Irgendwelche Ideen?Danke :-)

War es hilfreich?

Lösung

Zend framework funktionieren sollte, ohne mod_rewrite.Wenn Sie Leben können mit Ihrer URL an:s suchen sich, wie "/path/to/app/index.php/controller/action".Wenn Sie mod_rewrite Sie konnten sich nicht mit der "index.php" wenig, aber es sollte funktionieren mit zu.

Es ist alles eine Frage der Einstellung, bis die Routen zu akzeptieren index.php Teil.

Andere Tipps

OK mein Urteil :-) :Ich habe erfolgreich verwendet wurde, zend, ohne mod_rewrite und es ist, als haben Sie alle gesagt site/index.php/controller/action.Ich wusste, dass, bevor dieses posting.Ich habe auch herausgefunden, um das Netz eine Technik, die "drückt", 404 Seiten index.php also, was ist nicht eine Ressource (zB.CSS -, Bild, etc.) bekommt es mit einer Ausnahme:POST-Werte.Also habe ich beschlossen, dass das nächste mal, wenn eine Anwendung hat in den speziellen server, höflich zu Fragen, für mod_rewrite.Wenn der administrator nicht bereitstellen, sprechen mit meinem Chef oder wenn es für mich Schalter Anbieter.In der Regel ist es eine Schande, einige Male, dass PHP-Markt ist so sehr fragmentiert (php4, php5, php6, mod_rewrite, mod_auth, mod_whatever), aber das ist eine andere Geschichte...

mod_rewrite ist fast unverzichtbar in der heutigen hosting-Umgebung..aber leider ist nicht jeder Verstand die Botschaft.

Viele der großen php-Programme (ich denke, magento, aber die meisten können cope) haben eine ziemlich-url fall-back-Modus, wenn mod_rewrite nicht verfügbar.

URLs am Ende Aussehen wie www.site.com/index.php?load-this-page

Sie muss ausgeführt werden, einige Magie zu greifen, die variable name aus der $_GET-variable und verwenden Sie es als Selektor für das, was-Modul/Funktion ausführen.

In einem verwandten Hinweis, ich habe gesehen, viele Durcheinander-URLs in der neuen facebook-Seite, wo es mit der #.So, dass links Aussehen www.new.facebook.com/home.php#/inbox/ ist Klar, dass wir nicht sehen sollte, aber es deutet darauf hin, dass Sie wahrscheinlich das Parsen von $_SERVER['REQUEST_URI'] - variable.

Wenn Sie eine nicht-mod_rewrite Weise leiten alle Anfragen an index.php (oder wo auch immer Ihr init-Skript ist), können Sie, wie oben erwähnt, verwenden Sie 'REQUEST_URI' zu greifen, die Teil der Adresse nach der Domäne und dann analysieren, wie Sie möchten und machen Sie das Anfrage tun, was Sie wollen es zu.Dies ist, wie Wordpress funktioniert es (gewährt, mit mod_rewrite).So lange wie Sie können dieAnforderungen an der index-Seite unter Beibehaltung der gleichen URI, die Sie tun können, was Sie brauchen, um die Anforderung zu verarbeiten.

Drupal ' s rewrite-Regeln übersetzen

http://example.com/path/goes/here

in

http://example.com/index.php?q=path/goes/here

...und enthält die Logik, um zu entscheiden, welche Variante des URLs zu generieren.Wenn Sie Leben können mit hässlichen URLs, damit würden Sie halten alle die Logik, die von einem einzelnen front-controller in place w/o unter Berufung auf die URL-Umschreibung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top