Action-Link bei URLRewriting

Das Forum soll der Ablage von Lösungen für immer wieder auftauchende Problemstellungen dienen. // This forum contains solutions to problems that frequently occur.
Antworten
APFelsahne
Beiträge: 222
Registriert: 18.03.2010, 13:13:07
Wohnort: Ludwigshafen am Rhein
Kontaktdaten:

Action-Link bei URLRewriting

Beitrag von APFelsahne » 20.05.2011, 12:49:12

Hi!

Hab grad folgendes Problem.

Auf der Seite domain.tld/kontakt gibt es ein Kontaktforumlar, welches beim absenden an die URL domain.tld/kontakt/~/biz-action:contact weiter gehen soll.
Kurze Info vorweg, das URLRewriting habe ich gerade erst für diese Seite aktiviert, vorher ohne das URLRewriting hat alles funktioniert. Jetzt funktioniert auch bisher alles bis auf den Aufruf der Action.
Hier liegt auch mein Problem, dass sich die Action einfach nicht aufrufen lassen will. Verwendet wird als Inputfilter der FrontcontrollerRewriteRequestFilter und als Outputfilter der HtmlLinkRewriteFilter. Das APF wird in Version 1.13 verwendet.
Die Action wird von der Klasse AbstractFrontcontrollerAction abgeleitet.

Die Ausgabe von var_dump($_REQUEST); ergibt lediglich bei der URL domain.tld/kontakt/~/biz-action:contact

Code: Alles auswählen

array(8) {
  ...
  ["page"]=>
  string(4) "kontakt"
}


Habe ich irgendetwas nicht beachtet? Oder ist der Aufruf falsch?

Für Hilfe wäre ich dankbar :)

Edit:
Die RewriteRule sieht wie folgt aus:

Code: Alles auswählen

RewriteRule !(\.php|\.css|\.js|\.jpe?g|\.png|\.gif|\.zip|\.rar)$ /index.php?apf-rewrited-query=/page%{REQUEST_URI}&%{QUERY_STRING} [NC,L]


Edit2:
Der Action-Stack des Frontcontrollers ist auch leer. Wie erwähnt wird im bootstrap folgende Filter gesetzt.

Code: Alles auswählen

Registry::register(
        'apf::core::filter',
        'FrontControllerInputFilter',
        new FilterDefinition('core::filter::input','FrontcontrollerRewriteRequestFilter')
        );
Registry::register(
        'apf::core::filter',
        'OutputFilter',
        new FilterDefinition('core::filter::output','HtmlLinkRewriteFilter')
        );


Fehlt eventuell noch ein zusätzlicher Filter, der für die Actions benötigt wird, so dass diese unter aktivem URLRewriting funktionieren?
Grüße, Florian
BildAPF-Extension wsCatalyst

Benutzeravatar
dr.e.
Administrator
Beiträge: 4525
Registriert: 04.11.2007, 16:13:53

Re: Action-Link bei URLRewriting

Beitrag von dr.e. » 20.05.2011, 17:08:32

Hallo Florian,

Habe ich irgendetwas nicht beachtet? Oder ist der Aufruf falsch?

Im Rewrite-Modus müsste die URL
domain.tld/kontakt/~/biz-action/contact
lauten, ansonsten kann die Action nicht aufgelöst werden. Ansonsten sollte die Konfiguration prinzipiell richtig sein (siehe http://adventure-php-framework.org/Seite/069-URL-Rewriting).

Gemäß Doku sollte

Code: Alles auswählen

    Registry::register(
            'apf::core::filter',
            'FrontControllerInputFilter',
            new FilterDefinition('core::filter','FrontControllerInputFilter')
            );

genutzt werden. Für die Ausgabe ist der
Registry::register(
'apf::core::filter',
'OutputFilter',
new FilterDefinition('core::filter','GenericOutputFilter')
);[/code]
schon vorkonfiguriert (wie auch der FrontControllerInputFilter), du musst nur noch

Code: Alles auswählen

Registry::register('apf::core','URLRewriting',true); 

setzen.

Ich hoffe, das hilft dir weiter. Ansonsten kannst du auch mit 1.14 schon die FilterChain-Features nutzen - diese wurden in 1.13 zunächst versteckt eingeführt, das aber nur, wenn es so nicht klappt.
Viele Grüße,
Christian

APFelsahne
Beiträge: 222
Registriert: 18.03.2010, 13:13:07
Wohnort: Ludwigshafen am Rhein
Kontaktdaten:

Re: Action-Link bei URLRewriting

Beitrag von APFelsahne » 22.05.2011, 19:58:15

dr.e. hat geschrieben:Hallo Florian,

Habe ich irgendetwas nicht beachtet? Oder ist der Aufruf falsch?

Im Rewrite-Modus müsste die URL
domain.tld/kontakt/~/biz-action/contact
lauten, ansonsten kann die Action nicht aufgelöst werden. Ansonsten sollte die Konfiguration prinzipiell richtig sein (siehe http://adventure-php-framework.org/Seite/069-URL-Rewriting).


merci, das wars! hat ich übersehen in der doku, dass aus dem doppelpunkt auch ein slash wird. :D
Grüße, Florian
BildAPF-Extension wsCatalyst

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast