は私が/redirect/server?site=local&name=john
取得クエリ文字列パラメータ3
に要求を行った場合、私は
$request->getAttribute('subject')
で
subject
権利を取得することができ、フォーム
$app->get('/redirect[/{subject}]', function ($request, $response, $args) {
});
でget
ルートを持っています
ただし、クエリパラメータを取得できません。私は$request->getQueryParams()
を検査した場合、私は得る:
[
'/redirect/server?site' => 'local',
'name' => 'john'
]
私は、クエリを期待しているはずだのに対し
[
'site' => 'local',
'name' => 'john'
]
私が間違って何をやっているようにparamsは?おそらく、私はurlパラメータが疑問符を受け入れてはならないと指定するべきでしょうか?
編集1
私は私のウェブサーバの設定を掲示するように求めてきました。私は明日、そのdevマシンにアクセスしますので、これは自分自身に上記の情報を追加することを思い出させることに過ぎません。 しかし @jmattheisはすでに私にヒントをくれました。
location/{
try_files $uri $uri/ /index.php?$request_uri;
}
この設定が働いている:私はある時点で2スリムのために提案されるために使用される書き換えスニペットを使用しているのに対し
Slim Framework 3 setup for nginxはライン
location/{
try_files $uri /index.php$is_args$args;
}
に沿って何かを言います私にとっては何年もの間うまくいきましたが、疑問符の後に来るものは何も解析しようとはしませんでした。今では、生の翻訳$_REQUEST
をSlimルーティングメソッドに変換しようとしている、放棄されたプロジェクトをフォークしています。
編集2
プロジェクトのコードベースは、レポphpPgAdmin6です。基本的には、ルートロジックを持たないphpPgAdminというフォークだから、要求と応答を特定の範囲に集中させ、スリムなネイティブメソッドを使用してクエリ文字列を解析しようとしています。
私にとっては、どちらも期待通りに動作するスリムなバージョンです。 – jmattheis
バージョン3.8.1、私はドキュメントのルートのサブフォルダでアプリケーションを実行していますが、違いはありませんか? – amenadiel
あなたの投稿してください。htaccessファイル – jmattheis