ホームページ > バックエンド開発 > C++ > URL ルーティングで URL エンコードされたスラッシュを処理するにはどうすればよいですか?

URL ルーティングで URL エンコードされたスラッシュを処理するにはどうすればよいですか?

DDD
リリース: 2025-01-03 16:25:40
オリジナル
120 人が閲覧しました

How to Handle URL-Encoded Slashes in URL Routing?

URL 内で URL エンコードされたスラッシュを使用する

URL ルーティングでは、スラッシュを含むパラメーターを処理する必要がある場合があります。ただし、URL エンコードでは通常、スラッシュが「/」シーケンスに置き換えられるため、ルートのマッチングが中断される可能性があります。

問題:

{controller}/{ のようなルートを使用する場合action}/{id}、URL エンコードされたスラッシュを含む URL (例: "Home/About/100/200") は、 Route.

解決策 1: カスタム URL エンコード/デコード

以下のコード スニペットで提供されているような、カスタム URL エンコード/デコード ソリューションを実装できます。この方法では、Base64 を使用してパラメータ値をエンコードし、エンコードが使用されたことを示すプレフィックスを追加します。

解決策 2: ワイルドカード パラメータ

問題のあるパラメータが常に最後の場合1 つは、ルート定義でワイルドカード パラメーター {*id} を使用できることです。これにより、パラメータにスラッシュを含む複数のセグメントが許可されます。

その他の考慮事項:

  • スペース文字 ( ) も適切に URL エンコードする必要があります。
  • Base64 エンコードでは、URL の見た目が悪くなってしまう可能性があります。
  • 代替アプローチ各アイテムの事前にフォーマットされた文字列を保存し、データベース内の個別の「URL」列を使用することです。これにより、デコードの必要性が回避され、データの一貫性が確保されます。

以上がURL ルーティングで URL エンコードされたスラッシュを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート