yii2漂亮的网址没有提交表单提交

时间:2016-09-20 09:19:29

标签: .htaccess url-rewriting yii2

以下是我为Url Manager使用的规则。

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

我的.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

规则似乎有效,网址如

post/filter?arg1=9&arg2=0&arg3=d&arg4=3正在变成,

post/9/0/d/3

但是,我有一个类似下面的搜索表单

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

表单中的字段名为arg1,arg2,arg3,arg4。现在,当我提交表单时,url会返回格式

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

我不确定它是否与规则或我提交表单的方式有关(我只需要通过GET方法提交表单)。有帮助吗?谢谢。

1 个答案:

答案 0 :(得分:-1)

尝试此规则

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