2012-02-20 15 views
35

urlを渡す変数があり、その中に疑問符がある場合は、疑問符をエスケープするだけですか?もしそうでなければ、どうやってそれが通り過ぎるのを確かめることができますか?申し訳ありませんが、これは簡単な質問ですが、私はこの情報を必要とします。答えに応じて、私は前向きに進んでいくと混乱してしまいます。url変数の中間に疑問符がありますか?

+0

@StefanH Ok。私のURLは 'site.com?var1 = apples&var2 = newsite.com?w.newsite.com&var3 = stuff'のようなものになります。 – townie

+0

申し訳ありません - 私は質問を間違えました - 私の答えは間違っていました。あなたは間違いなくそれをエンコードしたいでしょう:) –

答えて

47

疑問符のURLは、%3Fとエンコードされます。しかし、文字を手動でエンコーディングするのではなく、すべてのエンコーダーを適切に使用する必要があります。

6

ここには、URLエンコード文字のfull listがあります。あなたは、サーバー側の言語のためのPHPを使用している場合は、

$nice_url = urlencode("http://your.old.url"); 

他の言語には、同様の機能が、中に構築しています...のようなものを使用することができます(または、1つのオンラインを見つけることができます)。これにより、疑問符(およびその他のURLの問題)が処理されます。

+3

URL全体をエンコードするのではなく、パスセグメントを個別にエンコードする必要があります。それ以外の場合は、スキームの後にコロンをエンコードし、FQDNのドットとパスセグメントを区切るスラッシュもエンコードします。 Plaseを見てみましょうhttps://tools.ietf.org/html/rfc3986 – cmoran92

5

GoogleにリンクしたJavaScriptの検索エンジンをしようとの私の経験によると、ちょうど%の3Fと疑問符を置き換えます。 URLは、の右側にある最初の2文字を16進形式で読み取ります。

関連する問題