web-dev-qa-db-ja.com

ユーザーが入力を省略した場合、URL入力フィールドは自動的にhttp://を付加する必要がありますか?

ユーザーにURLを要求し、「www.google.com」のようなものを入力した場合、それらがhttp://www.google.com

10
Kevin Burke

これは、URLを要求するコンテキストによって異なります。 URLが完全修飾URL(http://example.com/foo/bar/baz)であると想定されている場合、httphttpsfileftp、およびその他の可能な受け入れ可能なプロトコルがURLの前に付いていなければ、http://を安全に使用できます。

代わりに、現在のドメインに対して相対的である場合とそうでない場合があるURLを要求する場合、最初のテキストとしてhttp://のデフォルト値を指定することはできますが、プロトコルを想定することはできません。

これが使用されているgreatの例については、質問/回答コンテンツエディターで使用されるポップアップでStack Exchange自体のリンクフィールド(Ctrl + L)。

8
zzzzBov

私のWebサイトのユーザーの大多数は、Webアドレスの先頭にHTTP://を入力することはなく、ほとんどのWebブラウザーはHTTP://を表示していません。

デフォルトのプロトコルは、他のもの(httpsなど)を指定しない限り、httpである必要があります。

2
Reactgular

アドレス修正を備えたほとんどのWebブラウザーは、この仮定を行います。だからあなたもできると思います。

0
Dan D.

ユーザーの視点からどちらか一方を指定することはありませんが、リンクがサーバーに到達したときに、存在しない場合はhttp://を付加します。これは、PHPコードの非常に単純な行です。

if(!preg_match('/^http/', $url)) $url = "http://".$url;
0
Hawkee