問題タブ [request-uri]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
laravel - Nginx、末尾のスラッシュとクエリ文字列を含む URL は、query_string と request_uri のパス解析を中断します
Apache 2.2 で実行されていた古いシステムを置き換える、Nginx を介してホストされる Laravel アプリに取り組んでいます。
新しいシステムは、古いシステムで現在サポートされているすべての URL をサポートする必要があります。
ほとんどの URL は次のようなもので、正常に動作します。
https://somesite.com/some/path?someProp=1
ただし、一部の URL には、以下のように末尾のバックスラッシュとクエリ文字列があります。
https://somesite.com/some/path/?someProp=1
(このようなリンクは確かに悪い習慣ですが、アプリは他の関連システムとの下位互換性のためにそれらをサポートする必要があります)。
私のアプリでは、URL の末尾にバックスラッシュとクエリ文字列がある場合、たとえば次のコードの場合、クエリ文字列とパスが途中で壊れてしまうことがわかりました。
末尾のスラッシュのない URL の場合、次のようになります。
$uri === https://somesite.com/some/path?someProp=1
$query === someProp=1
しかし、末尾にスラッシュがある URL の場合は次のようになります。
$uri === https://somesite.com/some/path//1
$query === ''
URLに末尾のバックスラッシュとクエリ文字列が含まれている可能性がある場合、$request_uriと$query_stringの値を適切に設定するようにNginxを構成するにはどうすればよいですか?
Nginx サーバー構成:
php-fpm.conf
fastcgi_params:
nginx - NGINX: ランダムなクエリ値を静的な値に置き換える
私の質問はすでに一度回答されていることは知っていますが、もう見つけられないようです。申し訳ありません:)
$request_uri で返された英数字以外の文字を静的な値に置き換える方法はありますか? 私の URL は次のようになります。
mydomaine.com/videos/1122/master.m3u8?Device-ID=123456&Session-ID=7890123& api_key=5bc06b7a6 &Codec=h264&AudioCodec=mp3
api_key=5bc06b7a6 は英数字以外のランダムな値で、URL が要求されるたびに変更されます。
この api_key の値を静的な値に置き換えるにはどうすればよいですか? 例: api_key=abc123def456