HTTPSとWWWを強制し、ローカルホストを許可する最良の方法は何ですか?



HTACCESSはHTTPSとWWWを強制しますが、ローカルホストを許可します

HTTPSとWWWを強制することはいくつかの理由で重要です:接続が安全であることを示すことで訪問者の信頼を獲得し、wwwなどのサブドメインを使用している場合、訪問者とレポートの一貫性を保ちながら、安いWebでホスティングなど。

Google Search Consoleなどのレポートエンジンでは、まったく同じサイトとページに対して異なるビューを表示することは簡単に複雑になります。セキュアなHTTPS接続を使用するものと、Webサブドメインwwwを使用するものと、Webサブドメインwwwを使用しないものと、一貫性のあるレポートを作成するためにGoogleアナリティクスサブドメインフィルターを設定しなければならない悪夢にさえなります。

実際には、訪問に影響を与えることなく、すべての訪問者がHTACCESSのセキュアなHTTPSバージョンのサイトおよびWebサブドメインにリダイレクトされるようにするための簡単な方法がいくつかあります。エレガントな方法。

それに加えて、WebサブドメインまたはHTTPSへのリダイレクトなしでlocalhostサブドメインにアクセスできること、およびスラッシュで終わるページが通常のページにリダイレクトされることを回避するために、それを完全にするためにレポート内の同じページの二重カウント。

これらの重複するページをすべて削除して、最後に分析を適切に集約することを難しくします。

  • http://mywebsite.com/page
  • http://mywebsite.com/page/
  • https://mywebsite.com/page
  • https://mywebsite.com/page/
  • http://www.mywebsite.com/page
  • http://www.mywebsite.com/page/
  • https://www.mywebsite.com/page
  • https://www.mywebsite.com/page/
  • これはすべて、Apacheサーバーで使用される隠しファイルで、通常はWebサイトのルートフォルダーに保存されている.htaccessファイルを更新することによって行われます。

スラッシュで終わるページをリダイレクト

いずれかで終わるURLから終了スラッシュを削除し、スラッシュなしで標準ページにリダイレクトされるようにするには、スラッシュで始まるURLとスラッシュで終わるURLを一致させ、それが要求されているディレクトリではないことを確認し、リダイレクトします末尾のスラッシュなしでリクエストURI全体に。

また、正しいはずの安全なWeb URLにページをリダイレクトします。これにより、スラッシュ、安全でないリクエスト、またはWebサブドメイン以外の潜在的な問題がすべて直接解決されます。

また、ディレクトリへのリクエストがスラッシュで終わることを確認するための追加のコードが必要です。これは、通常のウェブサイトディレクトリURLがスラッシュの1つで終わるためです。

# Remove trailing slash from non-filepath urls
RewriteCond %{REQUEST_URI} /(.+)/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ https://www.mywebsite.com/%1 [R=301,L]
# Include trailing slash on directory
RewriteCond %{REQUEST_URI} !(.+)/$
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ https://www.mywebsite.com/$1/ [R=301,L]

HTACCESSはHTTPSを強制し、WWWはhtaccessを強制します

最後のスラッシュの問題が解決されたので、htaccessを強制的にwwwにhttpsからhttpsにリダイレクトすることで、HTTPSまたはWebサブドメインが欠落する可能性があることに注目しましょう。

それを実現する最も簡単でスタイリッシュな方法は、両方をまったく同じhtaccess条件で識別することです。


これは、Webサブドメインで始まらないURL、またはHTTPSを含まない要求を照合し、安全な接続とWebサブドメインwwwの両方を含むWebサイトの正しいURLをリダイレクトすることで簡単に実行できます。

# HTACCESS force HTTPS and force WWW htaccess 
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

HTTPSおよびWWWを強制するが、ローカルホストを許可する

さて、これで十分ですが、実際にXAMPPローカルサーバーで開発モードのWebサイトにアクセスしようとするとどうなりますが、http:// localhostへのリクエストはすべてhttps://www.mysite.comにリダイレクトされます-私たちの生産バージョン?

解決策は、HTTPSおよびWWWバージョンのURLリクエストを実施する以前のコードを再利用することですが、ローカルホストまたはローカルIPアドレス(127.0.0.1)にアドレス指定されたチェックリクエストから除外することから始めます。

これで、すべての問題を解決する美しいコードが完成しました!

# HTACCESS force HTTPS and force WWW htaccess 
RewriteCond %{HTTP_HOST} !^localhost [NC]
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

HTTPをHTTPS htaccessにリダイレクトし、WWWを強制し、スラッシュを削除します

以下のコード全体をHTACCESSファイルで使用して、次のすべてを実現できます。

htaccesでHTTPをHTTPSにリダイレクトします。

htaccessでWWWを強制します。

URLの末尾のスラッシュを削除します。

もちろん、あなたに適用するウェブサイトのURLを変更することを忘れないでください。

宛先URLを他の最も安価なWebホスティングWebサイトに変更するだけで、Webサイトを別のWebサイトにリダイレクトすることもできます。

#--------------------------------------------------
# Force WWW htaccess : /
#--------------------------------------------------
#### Force HTTPS://WWW and remove trailing / from files ####
## Turn on rewrite engine
RewriteEngine on

# Remove trailing slash from non-filepath urls
RewriteCond %{REQUEST_URI} /(.+)/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ https://www.mywebsite.com/%1 [R=301,L]

# Include trailing slash on directory
RewriteCond %{REQUEST_URI} !(.+)/$
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ https://www.mywebsite.com/$1/ [R=301,L]

# HTACCESS force HTTPS and force WWW htaccess
RewriteCond %{HTTP_HOST} !^localhost [NC]
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]
国際ビジネスコンサルティング
著者について - 国際ビジネスコンサルティング
ヨアンは国際ビジネスコンサルタント、ファシリテーター、コーディネーターです。彼は、世界30か国以上で、ロジスティクス、化粧品、消費財、美容ケア、ファッションなどのさまざまな業界のグローバルビジネス、サプライチェーン、財務、SAP ERPプロジェクト、WebおよびSEO最適化に10年以上携わってきました。 。
 




コメント (0)

コメントを残す