Seite 1 von 1

Routing

Verfasst: 07.01.2015 01:51
von D@ve
Versuche gerade meinen alten verstauben SEO-URL Mod in eine Extension zu verwandeln. Bin immer wieder begeistert wie gut das ohne Code Changes klappt...

Hab das ja bisher immer mit der htaccess gemacht. Aber das mit dem Routing ist für mich noch ein rotes Tuch. Auf phpbb.com wird auf die Symfony Doku verwiesen...
http://symfony.com/doc/2.1/book/routing.html

Wirklich erhellend finde ich das jetzt allerdings nicht...

Das hier ist meine .htaccess:
RewriteCond %{REQUEST_FILENAME} /(.*)-f([0-9]*).html
RewriteRule (.*) ./forum/viewforum.php?f=%2 [L]
RewriteCond %{REQUEST_FILENAME} /(.*)-f([0-9]*)-s([0-9]*).html
RewriteRule (.*) ./forum/viewforum.php?f=%2&start=%3 [L]
RewriteCond %{REQUEST_FILENAME} /(.*)-f([0-9]*)-([0-9]*)-s([0-9]*).html
RewriteRule (.*) ./forum/viewforum.php?f=%2&topicdays=%3&start=%4 [L]
RewriteCond %{REQUEST_FILENAME} /(.*)-t([0-9]*)-([0-9]*).html
RewriteRule (.*) ./forum/viewtopic.php?t=%2&postdays=0&postorder=asc&start=%3 [L]
RewriteCond %{REQUEST_FILENAME} /(.*)-t([0-9]*)-p([0-9]*)-([0-9]*).html
RewriteRule (.*) ./forum/viewtopic.php?t=%2&postdays=%3&postorder=asc&start=%4 [L]
RewriteCond %{REQUEST_FILENAME} /(.*)-t([0-9]*)-p([0-9]*)desc-([0-9]*).html
RewriteRule (.*) ./forum/viewtopic.php?t=%2&postdays=%3&postorder=desc&start=%4 [L]
RewriteCond %{REQUEST_FILENAME} /(.*)-t([0-9]*)(.*).html
RewriteRule (.*) ./forum/viewtopic.php?t=%2&highlight=%3 [L]
RewriteCond %{REQUEST_FILENAME} /(.*)-t([0-9]*)-p([0-9]*)desc.html
RewriteRule (.*) ./forum/viewtopic.php?t=%2&postdays=%3&postorder=desc [L]
RewriteCond %{REQUEST_FILENAME} /(.*)-t([0-9]*)-p([0-9]*).html
RewriteRule (.*) ./forum/viewtopic.php?t=%2&postdays=%3&postorder=asc&start=0 [L]

Wie gieße ich das jetzt in eine yml?

thanks
Dave

Re: Routing

Verfasst: 07.01.2015 03:31
von tas2580
So weit ich weiß geht das mit Routing gar nicht da das Routing in phpBB immer die app.php aufruft und somit nur für deine Extension und nicht für schon vorhandene Dateien genutzt werden kann. Auch das Routing müsste einen Eintrag in der htaccess haben da der Webserver keine URLs raten kann. Man muss also auf jeden Fall die Konfiguration des Webservers ändern (beim Apache eben mit htaccess).

Wenn ich mir deine htaccess anschaue übertreibst du es da für meinen Geschmack an manchen Stellen. Ich würde bis auf die normalen URLs und Start nichts umschreiben sondern schaun das die Kanonische URL richtig ausgegeben wird. Wenn du postorder oder topicdays umschreibst und keine Kanonische URL setzt produzierst du ohne Ende doppelten Content. Wenn du eine Kanonische URL setzt brauchst du auch nicht umschreiben.

Ich habe gerade mal in deinem Forum die URLs angeschaut, da ist mir aufgefallen das man den Titel in der URL beliebig ändern kann. Da solltest du auf jeden Fall eine URL Prüfung einbauen die auf die richtige URL per 301 weiterleitet da du sonst wenn ein Thema umbenannt wird oder jemand böse ist und falsch verlinkt wieder doppelten Content hast. Wenn man da nicht aufpasst wird aus einem SEO Mod ganz schnell ein anti SEO Mod.

Gruß Tobi

Re: Routing

Verfasst: 07.01.2015 09:20
von D@ve
Wenn ich mir deine htaccess anschaue übertreibst du es da für meinen Geschmack
Achso... Das ist schade. Hmmmm... Also doch htaccess. Dann muss ich versuchen über die migrations eine .htaccess anzulegen und zu befüllen.
Wenn ich mir deine htaccess anschaue übertreibst du es da für meinen Geschmack
Ja, ich weiß... Da war ich noch jung und hübsch :D. Das ist Stand 2007

Re: Routing

Verfasst: 07.01.2015 18:35
von nickvergessen
Das Problem auf das du hier stößt ist,
dass phpBB selbst noch keine Controller verwendet.
In der Theorie würdest du sowas erstellen, wie z.B.:

Code: Alles auswählen

seomod_viewforum_controller:
    pattern: /{forum_name}-f{forum_id}.html
    defaults: { _controller: phpbb.viewforum.controller:show }
    requirements:
        forum_id: \d+
Allerdings gibt es phpbb.viewforum.controller noch nicht, daher musst du den Rewrite auf viewforum.php machen.

Re: Routing

Verfasst: 07.01.2015 20:33
von D@ve
Schade... Aber immerhin habe ich jetzt ein bisschen mehr verstanden...

Was gibt es denn dann überhaupt für Möglichkeiten, damit der Mod "valide" wird? Soweit ich das verstanden habe, werden die ja nur akzeptiert, wenn keine Files außerhalb des extension folders benötigt werden, oder?

Gruß, Dave

Re: Routing

Verfasst: 08.01.2015 17:38
von nickvergessen
D@ve hat geschrieben:Soweit ich das verstanden habe, werden die ja nur akzeptiert, wenn keine Files außerhalb des extension folders benötigt werden, oder?
Richtig
D@ve hat geschrieben:Was gibt es denn dann überhaupt für Möglichkeiten, damit der Mod "valide" wird?
In dem Fall kann man wohl nicht all zu viel machen, außer wenn man gewillt ist, die komplette viewforum.php auf einen controller um zu arbeiten.

Re: Routing

Verfasst: 08.01.2015 20:35
von D@ve
In dem Fall kann man wohl nicht all zu viel machen, außer wenn man gewillt ist, die komplette viewforum.php auf einen controller um zu arbeiten.
Das ist wahrscheinlich nix, was in einem 3.1.x Release kommen wird, oder?