2018年9月28日金曜日

Google Analytics トラッキングコードの外部ファイル化

グローバル サイトタグ(gtag.js)の場合、以下のようにします。

たとえば、ファイル名をanalytics.jsとして、以下の内容を書き込み、HTMLファイルに読み込んであげます。

analytics.js 内 -------------------------------------------------
document.write('<script async src="https://www.googletagmanager.com/gtag/js?id=UA-999999999-1"></script>');
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA- 999999999-1');
---------------------------------------------------------------------

UA- 999999999-1 は、ご自分のIDに変更してください。

2018年9月23日日曜日

Apacheのmod_rewriteモジュールの使い方を徹底的に解説 | OXY NOTES

https://oxynotes.com/?p=7392


RewriteCondの後方参照について
ここで後方参照について触れておきます。
RewriteCondの条件パターンで「()(カッコ)」を使って一致した値は、変数を使って再利用できます。これを後方参照と言います。

RewriteCondで指定したパターンを参照する場合は「%(パーセント)」を使います。「()(カッコ)」が複数ある場合は左から%1、%2といった具合に利用することができます。

同じように、後に解説するRewriteRuleディレクティブでも後方参照を利用できます。こちらは通常の正規表現の後方参照と同じように「$(ドル)」で利用できます。

例)http://example.com/ex/huga/index.htmlでアクセスした場合
RewriteCond %{REQUEST_FILENAME} ^(.*)/(.*)/index.html$
RewriteRule ^/ex/(.*)/(.*)$ /$1/%1/$2
以上のルールが実行されると、「/huga/ex/index.html」となります。%と$で、それぞれRewriteCondとRewriteRuleの後方参照を利用している点に注意してください。

.htaccess RewriteRule書き方

以下のサイト頻出設定がとても役に立ちました。ありがとうございます。

.htaccess ページをキャッシュさせたくない場合

.htaccess の書き方(アクセス制御編)


https://qiita.com/shotets/items/17bed9029140a6d925d2

ページをキャッシュさせたくない場合

.htaccess

キャッシュの有効期限を過去にする

Git の理解

Git の仕組み (1) - こせきの技術日記
http://koseki.hatenablog.com/entry/2014/04/22/inside-git-1

.htaccess アクセス制限の理解

Apacheのアクセス制御をちゃんと理解する。 - こせきの技術日記
http://koseki.hatenablog.com/entry/20100

2018年9月21日金曜日

PHP 日付にNEW表示


<?php
    $days = 10; //NEW表示させる日数
    $now = time();  //現在のタイムスタンプ
    $entry = strtotime('2018-09-21');  //投稿した日などの基準日
    $term = date('U',($now - $entry)) / 86400;
    if( $days > $term ){
        echo '<span class="newMark">NEW!</span>';
    }
?>

2018年9月19日水曜日

CentOS サーバーの時間がずれている

3分理解!時間のずれを直せるLinuxのシステムクロックの使い方
https://eng-entrance.com/linux-clock-system

CentOS6 では、/etc/ntp.conf

CentOS7では、/etc/chrony.conf

で設定します。

Pythonで連番の画像を一括ダウンロード

Pythonを使って連番の画像を一括ダウンロードする - 技術メモ集
https://www.robotech-note.com/entry/2018/01/06/011653

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import urllib.request
import sys
import os

def download():
    path = "./pic/"
    os.mkdir(path)

    url = "保存元のURLを入れる"
    for i in range(1000):
        try:
            url_all = url + str(i+1).zfill(3) + ".jpg"
            urllib.request.urlretrieve(url_all, path + str(i).zfill(3) + ".jpg")
        except urllib.error.URLError as e:
            break

if __name__ == "__main__":
    download()

上記のコードを、download.py などという名前で保存し、python3で実行する。

$python3 download.py

※ zfill(3) というのは、数字を3桁のゼロパディング(1 ⇒ 001)をするものなので、不要ならば削除してOKです。

2018年9月18日火曜日

htmlファイル中に[an error occurred while processing this directive]と表示される

htmlファイル中に[an error occurred while processing this directive]と表示される
http://pentan.info/else/ssi/html_error_occurred.html

[an error occurred while processing this directive]  

これはhtmlファイルがSSIで実行されている環境で、HTMLコメントに <!--# から始まるものが含まれている可能性があります。

SSIはHTMLファイル内に次のようなコードを埋め込むことで実行されます。

<!--#exec cmd="/bin/ls" -->  

解決方法としては、HTMLコメントに <!--# から始まるものを使用しないというのがありますが、SSIを無効にするという方法もあります。

SSIを無効にするにはApacheのOptionsディレクティブからIncludesを削除します。

Options -Includes  

もう少し具体的には上記のコードを .htaccessファイルに記述してHTMLファイルと同じ階層かそれより上の階層にアップロードします。

.htaccessを使ったよく使うリダイレクトまとめ | Kana-Lier カナリエ

vue.jsのDjangoでの使い所

2018年9月11日火曜日

Gitでコミットすると同時にサーバー上のウェブサイトを自動更新

gitでシンプルなデプロイ環境を作る
https://qiita.com/zaburo/items/8886be1a733aaf581045

上記を参考に試してみましたが、途中つまずいたので手順をメモしておきます。

<サーバー上>
1.サーバーにリモートリポジトリとなる、test.gitディレクトリ(ベアレポジトリ)を作成し、test.gitディレクトリに移動する。
  $ mkdir test.git
  $ cd test.git

2.test.gitディレクトリをベアレポジトリとして初期化する。※sharedは他ユーザーと共有する場合。無しでもよい。
  $ git init --bare --shared

<ローカル>
4.自分のローカルのGit作業フォルダのリモートレポジトリとして上記test.gitを登録する。
  パスの例 ssh://example-user@example.co.jp/var/www/html/test.git

5.ローカルからリモートへpushする。

<サーバー上>
6.testディレクトリを作成する。
  $ mkdir test

7.test.git を test にクローンする。
  $ git clone test.git test

8.test.git/hooks 内に post-receiveファイルを作り以下を記述
  <post-receiveファイル内>
  #!/bin/sh
  cd /var/www/html/test
  git --git-dir=.git pull

9.post-receive に実行権限775を与える。
※改行コードはCR+LF(Windows用)ではなく、LFのみにすること。

10.ローカルで修正・コミットしてリモートにpushすると
  http://example.co.jp/test/ サイトが更新される。


<コマンドでの作業の流れ>
1.ローカルで修正
2.git add .
3.git commit -m "コメント:修正しました"
4.git push origin master ※このときユーザーのパスコードを要求される
5.完了

aria属性を使ってタブを実装してみた | toMemo - メモ的に色々書いていく個人ブログ

2018年9月1日土曜日

PHP 送信したリクエストの内容を見みるには

【php】送信したリクエストの内容を見たい(1) at softelメモ
https://www.softel.co.jp/blogs/tech/archives/5822


【php】送信したリクエストの内容を見たい(2) at softelメモ

PHP/Apache httpdのファイルアップロード/ダウンロード処理 – yohgaki's blog

KCFinder 画像アップロードすると「サーバーの応答が不正」

CKEditor4にKCFinderを導入してみました。しかし、画像アップロードはバックグラウンドでできているのですが、CKEditorの画像プロパティに反映されず困りました。

「サーバーに送信」すると、「サーバーの応答が不正」というエラーが発生する。BAD

いろいろ調べたところ、KCFinderがCKEditor用の正しいJSONデータを送信していないようでした。
以下に修正版 upload.php がアップされていたので置き換えてみました。

KCFinder & Json responses · Issue #155 · sunhater/kcfinder · GitHub
https://github.com/sunhater/kcfinder/issues/155

しかし、まだ駄目だったので強制的にJSONとして処理するようにupload.phpを修正したらできました! 
プレビュー画面に反映された。OK

KCFinderの設置の注意点 | 名古屋のホームページ制作 コットンウール