linux


さくらVPSでwwwサブドメインのURLを統一(正規化)する

www.○○○.com でアクセスしたときに、○○○.com にリダイレクトする方法

1.www.○○○.com を叩いたら、○○○.com のデータがあるサーバーにアクセスするように、DNS のゾーンの設定をする。

2.○○○.com のサーバー内の vhost.conf などの設定ファイルに以下の記述を追記する。

--------------------------------------------------
# www normalization
ServerAlias www.○○○.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.○○○\.com$
RewriteRule ^/(.*) http://○○○.com/$1 [R=301,L]
--------------------------------------------------

なお、△△△.○○○.com のように既にサブドメインがついている URL は対して、www.△△△.○○○.com というサブドメインのサブドメインをつける URL の記述は通常しない。www 自体がサブドメインのため。上記のやり方でも正規化できない。

うまくいかない場合は、ブラウザの情報を削除してからやってみる。はまった。

特定の文字列を含むファイルをサーバー内から探す

コマンド
-----------------------------------------------------
find ./ -name "*.*" -exec grep -l "tango_output" {} \;
-----------------------------------------------------

./ 現在のディレクトリ以下を指定

-name "*.*" .(ドット)を含むファイルをすべて検索

-exec find の検索結果ひとつひとつに指定したコマンドを実行する。-exec grep だと grep が実行される

grep -l -l は、検索条件にマッチしたファイル名を表示する。

grep -l "tango_output" tango_output という文字列を含むファイルを探す。

{} find でヒットしたファイル名やディレクトリ名に置き換えられる。

\; ; をシェルの特殊文字である コマンドの境界とみなされないようにするためにエスケープしている

参考ページ