URL 内で URL エンコードされたスラッシュを使用する
URL ルーティングでは、スラッシュを含むパラメーターを処理する必要がある場合があります。ただし、URL エンコードでは通常、スラッシュが「/」シーケンスに置き換えられるため、ルートのマッチングが中断される可能性があります。
問題:
{controller}/{ のようなルートを使用する場合action}/{id}、URL エンコードされたスラッシュを含む URL (例: "Home/About/100/200") は、 Route.
解決策 1: カスタム URL エンコード/デコード
以下のコード スニペットで提供されているような、カスタム URL エンコード/デコード ソリューションを実装できます。この方法では、Base64 を使用してパラメータ値をエンコードし、エンコードが使用されたことを示すプレフィックスを追加します。
解決策 2: ワイルドカード パラメータ
問題のあるパラメータが常に最後の場合1 つは、ルート定義でワイルドカード パラメーター {*id} を使用できることです。これにより、パラメータにスラッシュを含む複数のセグメントが許可されます。
その他の考慮事項:
以上がURL ルーティングで URL エンコードされたスラッシュを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。