2016-09-20 3 views
0

Hier sind die Regeln, die ich für den Url-Manager verwende.yii2 pretty url funktioniert nicht beim Senden des Formulars

'urlManager' => [ 
      'enablePrettyUrl' => true, 
      'showScriptName' => false, 
      'enableStrictParsing' => false, 
      'rules' => [ 
      'post/<arg1>/<arg2>/<arg3>/<arg4>' => 'post/filter', 
      'posts' => 'post/index', 
      ], 
     ], 

Und mein .htaccess

RewriteEngine on 
# If a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
# Otherwise forward it to index.php 
RewriteRule . index.php 

Die Regel scheint wie

arbeiten und Urls zu werden

post/filter?arg1=9&arg2=0&arg3=d&arg4=3 in verwandelt,

post/9/0/d/3 

Allerdings habe ich eine Suche Formular wie unten

$form = ActiveForm::begin([ 
     'action' => Url::to(['post/filter']), 
     'method' => 'get' 

Die Felder im Formular heißen arg1,arg2,arg3,arg4. Nun whenevr ich das Formular abzuschicken die URL in das Format zurückkommt

post/filter?arg1=9&arg2=0&arg3=d&arg4=3 

Ich bin nicht sicher, wenn sein hat etwas mit den Regeln zu tun, oder die Art, wie ich das Formular vorlege (Ich brauche die Form von GET-Methode einreichen nur). Irgendeine Hilfe? Vielen Dank.

+2

Mögliche Duplikat [Yii2 URL Manager Regeln und Formen mit GET-Methode] (http://stackoverflow.com/questions/30516476/yii2-url-manager-rules-and- Forms-mit-Get-Methode) – Bizley

Antwort

0

Versuchen Sie, diese Regel

'post/filter?<arg1:\w+>=<val1:\d+>&<arg2:\w+>=<val2:\d+><arg3:\w+>=<val3:\d+><arg4:\w+>=<val4:\d+>' => 'post/filter/<val1>/<val2>/<val3>/<val4>' 
Verwandte Themen