web-dev-qa-db-ja.com

wwwからwwwへの移行とブラウザのパスワード保存

ユーザー登録システムを備えたWebサイトを作成し、友人を招待しました。私は彼にno-wwwバージョンのリンクを与えました:http://mydomain.comですが、今では thisthis を読んだ後、www.mydomain.comに移行したいと思います。 。

しかし、問題があります。ブラウザがmydomain.comwww.mydomain.comの別々のパスワードを保存しているのを見ました。したがって、私の友人のブラウザでは、no-wwwのパスワードが保存されている必要があります。つまり、wwwに移行した後、ログインページを開くと、ブラウザはユーザー名とパスワードのフィールドを自動入力せず、(no-wwwの)エントリも追加されます。ブラウザの保存されたパスワードのデータベース。

これは回避できますか? www.mydomain.commydomain.comが同じWebサイトであることをブラウザに伝えることができますか? wwwmydomain.comを指すCNAMEレコードが既にありますが、検索エンジンはCNAMEをエイリアスと見なしますが、ブラウザはCNAMEを別のWebサイトと見なしているようです。理由はわかりません。

2
gom

これはブラウザソフトウェアの制限であり、ウェブサイトの制限ではありません。ブラウザは完全一致URLのパスワードを保存します。つまり、wwwサイトにアクセスすると、パスワードが保存されます。ほとんどのCookieベースのセッション。

wwwの実施

URL変数にwwwを強制することにより、この問題の再発を防ぐことができます。つまり、wwwなしでは誰もサイトにアクセスできなくなり、正しいアドレスにリダイレクトされます。つまり、保存されたパスワードとセッションベースのCookie問題を防ぐ正しいURLのためにのみ保存してください。

wwwを強制する方法はたくさんありますが、これはmod_rewriteでApacheを使用する一般的なソリューションの1つです。

SOURCE: 最も一般的に使用される基本的なApache htaccessリダイレクト

すべてをキャッチして、非wwwをwwwにリダイレクトする

$ 1変数はページ名をキャッチするため、サイトのwww以外のバージョンに対するすべてのリクエストのリダイレクトにmod_writeを使用することを選択する必要があります。したがって、example.com/page1 /は自動的にwww.example.com/page1/にリダイレクトします。

mod_rewrite:

RewriteEngine On
RewriteCond %{HTTP_Host} !^www\. RewriteRule ^(.*)$
http://www.%{HTTP_Host}/$1 [R=301,L]

パスワードを保存した人

さらに問題が発生した場合は、サイトの訪問者に、使用しているブラウザ内に保存されているCookieとフォームをクリアするよう依頼する必要がある場合があります。

1
Simon Hayter