W3C Validator

作成したサイトのHTML文法がW3Cのルールに従って、記述されているか、確認をするため、バリデーションチェックをします。

W3C Markup Validation Service

方法としては、
・方法1: URLを入力し、検証する。
・方法2: HTMLソースをファイルとして、アップロードし、検証する。
・方法3: HTMLソースをコピー&ペーストして、検証する。
の3つがあります。

一番簡単であるのは、方法1のURLを入力し、検証を行う方法ですが、同じURLでPCサイトとモバイルサイトをユーザーエージェントで切り替えしている場合、PCサイトの検証を行うことは出来ますが、モバイルサイトの検証を行うことが出来ません。この場合は、方法2または3で対応することになります。

しかし、静的なHTMLの場合は良いですが、動的なサイトの場合、いちいち各ページをHTML化したり、コピー&ペーストするのは、面倒です。この場合、とっておきの方法があります。

それは、FireFoxのアドオン”W3C Valitator”を使用することです。

FireFox上で現在を表示しているページの検証が行えるアドオンで、”UserAgent Switcher”等でスマートフォンのユーザーエージェントに切り替えた後に、
このアドオン”W3C Valitator”を使用することで検証を行うことが出来ます。

Html Validator / Firefoxアドオン

サイトのvalidator.w3.orgと同じアルゴリズムを使用しているため、検証結果は、同じです。

nginxでのBasic認証の設定方法

nginxを使っていて、Basic認証かけたいなぁと思って、いつものようにApacheでの.htaccessファイルを設定しても、かからない。。

いくらやってもかからなくて、調べたら、.htaccessファイルは使用することが出来ないということが分かりました。

では、Basic認証を設定することが出来ないのかというと、設定することは出来ます。

Apacheのような手軽さはないものの、
・.htpasswdファイルの作成
・nginxの”.conf”ファイルの設定
で実現することが出来ます。

.htpasswdファイルの作成

Apacheでの.htaccessファイルとセットで作成する必要がある.htpasswdファイルをいつものように作成します。
.htpasswdファイル名は、”.htpasswd”でなくても問題ありません。任意の名前で大丈夫です。
※ 形式は “ID:暗号化パスワード”です。
example_user:36Qw5FVxVWdEk

【参考】
htpasswd用パス作成ツール – phpspot”

nginx.confファイルの設定

下記のように、2行追記するだけです。
※/etc/nginx/conf.d/.htpasswdに置く場合

サイト全体にかける場合

server {
  listen *:80;
  server_name example.co.jp;
  #Basic Auth
  auth_basic “admin only”;
  auth_basic_user_file /etc/nginx/conf.d/.htpasswd;
}

特定のディレクトリにかける場合

server {
  listen *:80;
  server_name example.co.jp;

  location /wp-admin/ {
  #Basic Auth
  auth_basic “admin only”;
  auth_basic_user_file /etc/nginx/conf.d/.htpasswd;
  }
}

ApacheとNginxでのBasic認証の設定の違い

ApacheでBasic認証をかける場合は、サイトのドキュメントルート等、かけるディレクトリ直下に”.htaccess”と”.htpasswd”ファイルを配置する必要がありましたが、nginxで運用するのであれば、”.htpasswd”ファイルの配置ディレクトリは、nginx.confファイルと同じディレクトリに配置すると良いと思います。

そのため、バーチャルホストで区切っている場合、ファイル名を”.htpasswd_virtualhost_name”のようにして、”nginx.conf”と同じディレクトリは配置するのが、私としてはまとまり感があって、良いかなと思いました。