.htaccessを使ってルート階層以外でもルートパスを使えるようにしたかった
2018.04.26
※タイトルからお察しかもしれませんが、最終的に実現はできませんでした。
が、何かの参考になるかもと思い記事に残しています。


ルートパスでのファイル指定はとても便利ですが、ローカル環境やテストディレクトリで確認することができません。
そこで以下のようにできないか調べてみました。

・ /hoge/ 配下でルートパス指定をしたときは /hoge/ をドキュメントルートとする
・ それ以外のルートパス指定では、通常通り / をドキュメントルートとする


■.htaccessでリダイレクト

「特定の階層下では/○○○/をドキュメントルートとみなす」のような簡潔な設定を何かでできるのではと考えていたのですが...
調べた限りそういうものはなさそうだったので、リダイレクトで似たようなことができないかと考えました。
つまり、/hoge/ 配下でのルートパス指定は全て、

/css/common.css → /hoge/css/common.css

のように /hoge/ 配下の同階層にリダイレクトさせられれば、/hoge/ がドキュメントルートになったような動作になるのでは、という感じです。


ということで、.htaccessに以下のように記述しドキュメントルートに設置しました。

------------
Options +SymLinksIfOwnerMatch
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} /hoge/  ← 条件:リンク元のURLが /hoge/ 配下
RewriteCond %{REQUEST_URI} !/hoge/  ← 条件:リクエスト先のURIが /hoge/ 配下以外
RewriteRule ^(.*)$ hoge/$1 [L,R]
------------

上2つが条件で、両方を満たすときにリダイレクトがかかります。

これで、例えば /css/common.css にアクセスがあった際、それが /hoge/ 配下のページからのリクエストだった場合は /hoge/css/common.css にリダイレクトされるはずです。


■画像やCSSはできた

画像やCSSなどの読み込みは上手くいっているようです。
ルートパス指定をしたものは /hoge/ を基準にして参照してくれています。
aタグのリンクもルートパス指定で正しく動いているようでした。

が、SSIがダメでした。。。

SSIはリダイレクトが効かず、書かれた通りのパスを参照してしまいます。
(もしかしたら他にも効かないものがあるかもしれませんが)

in an SSI include, can the file being included be redirected in an .htaccess file

こちらで似たような内容のやりとりがされていますが、
SSIはApacheにリクエストを戻さないのでリダイレクトされない、ということのようです。

なんとかSSIの読み込み先を変えられないか探してみましたが、.htaccessではどうにもならなそうで。。


ということで、
もともとSSIを使ったサイトをサブディレクトリでも確認できるようにするための施策だったので、この方法は一旦諦めることに。
もし良い方法が思いつきましたらまた記事にしたいと思います。

| コメント(0)
jQuery:<input>や<textarea>をクリックしたときに全選択する
2018.02.07
<input>や<textarea>をクリックした際、中に書かれているテキストを全選択するスクリプトです。要jQuery。
内容をコピーさせたいテキストボックスを作る場合に実装してあると便利です。

$("ID名など").focus(function(){
  $(this).select();
});

| コメント(0)
Mac OX Finderの新規ウィンドウサイズ
2017.11.29

Finderで開くウィンドウサイズは、一つ前に開いていたウィンドウサイズで開くと思って使っていたMac OS Xが、いつ新規ウィンドウを作成してもデフォルトのサイズで開くようになってしまいました。不便だと感じつつアップデートを重ねていった中での仕様の変更だと、ずいぶん長い間そのまま使っていましたが、ふと、google検索してみたところ、同じお悩みの方がいらっしゃいました。そして解決している!そりゃそうか!

ユーザ>Library>Preferences>com.apple.finder.plist

これが壊れていることが原因かもしれない、ということで、一旦デスクトップ取り出して確保しつつ再起動。治りました。

Microsoft Officeのエクセルなどの動作がとても重くなってしまう件もPreferencesファイルを再構築すると直るし
、Macってこういうことがあるんですよね。

| コメント(0)
エクセルに貼り付けた画像のファイルサイズを小さくする
2017.07.19
エクセルで画像を大量に配置して管理するような表を作った際、
ファイルサイズを軽くするために行ったことの覚書です。(Excel2007)

エクセルで貼り付けた画像は元のデータを保持しており、
縮小してもファイルサイズは小さくなりません。
そこで、縮小した状態の画像を一度 切り取り → 貼り付け することで
見た目サイズに合ったファイルサイズにすることができます。

1. 任意のサイズに変形した画像を切り取り
170719_oshi_01.jpg

2. セルを右クリックし、「形式を選択して貼り付け」
170719_oshi_02.jpg

3. 任意の形式を選択して「OK」
170719_oshi_03.jpg

※今回は軽さ重視ということで、JPEGにしておけば問題ないと思います。


これで貼り付けられた画像は見た目にあったファイルサイズになります。
| コメント(0)
jQuery:DOM要素にデータを持たせる
2017.04.12
FlashでActionScriptを書く際によく使っていたものなのですが、インスタンスに変数などのデータを持たせることができます。
例えば複数のインスタンスの状態を管理するとき、配列などで管理しなくてもそれぞれのインスタンスに直接変数を持たせておけばよいので直感的にできます。

探してみたところJavaScriptにもあるようで、こちらはDOM要素にデータを持たせることができます。要jQueryです。


■格納
jQuery.data(elem, name, value)

(例)jQuery.data($("#target").get(0), "color", "red");


■取得
jQuery.data(elem, name)

(例)jQuery.data($("#target").get(0), "color");
  // red


実はJavaScriptを使い初めた頃に困ってたことでもあるので、便利に使っていこうと思います。
| コメント(0)
viewport の設定事例 その1
2017.02.08
viewport の基本はわかっていても、条件によって必要な設定が変わってくるのでなんだかんだ躓いてしまいます。
後で見返せるように条件とその時の設定をメモしておこうと思います。

今回はこんな感じです。

・PC版のデザインをそのままスマートデバイスで表示する
・ページの横幅は980px以下
・ただし、横に余裕を持たせるために1000pxで表示させたい
・ズームは可能だが、ページ表示時は全体が見えるように


PC版を見せるだけなら基本 viewport の設定はいらないのですが、
決まった幅で見せたいので width を設定しないといけません。

上手くいった設定は以下。幅だけ設定します。


<meta name="viewport" content="width=1000">


「initial-scale=1」を設定すると初期表示時にズームされてしまうので注意です。
| コメント(0)
MT:続・ファイルの初期アップロード先を設定する
2016.05.11
使用Ver:MT6.2

以前「MT:ファイルの初期アップロード先を設定する」という記事で、MTで画像等のファイルをアップロードするときのデフォルト階層の設定方法を書きました。

MT6.2からは設定画面から簡単に行えるようになりましたので、改めて記事にしようと思います。

といってもやり方は本当に簡単で、ウェブサイトもしくはブログの

「設定」>「全般」

のアップロードの項目からアップロード先を入力するだけです。
MTのテンプレートファイルをいじらなくて済むので管理的にもありがたいですし、下記のような便利な設定もあったりします。

・ブログ毎に設定できる
・ユーザーが変更できないように設定できる


MT6.2ではこの他にもアップロード関連の機能が強化されているので、
画像を多様する最近のサイトでも使いやすくなったな~という印象。

・マルチアップロード対応
・イメージエディタを搭載
・日本語ファイル名の自動変換をサポート


(今までほしかった機能たち笑)

上記が書かれているリリースノートはこちらです。
Movable Type 6.2 リリースノート

| コメント(0)
.AppleDoubleフォルダを一括削除する(Windows版)
2016.03.09
弊社はMacとWindowsとでネットワークHDDを共有しているのですが、自動的に作成されるMacの不可視ファイル「.AppleDouble」フォルダがしばし問題になることがあります。
(だいたいはwebアプリなどでファイルアップロードする際に失敗する問題)

で、作業時だけでも .AppleDouble フォルダを削除したいとなるのですが、検索するとMac(ターミナル)用コマンドはたくさん出るもののWindows(コマンドプロンプト)用のコマンドは見つかりませんでした。

そこでMacのコマンドを参考にWindows用に書き換えてみました。
...一応使ってみた限りでは問題なさそうですが、調べ調べ書いたものなのでご使用の場合はあくまで自己責任でお願いします。


■コマンドプロンプトを開いて対象にしたいディレクトリに移動し、

for /R %d in (.AppleDouble) do rmdir /S /Q "%d"


あまりファイルが多いと時間がかかってしまうと思うので注意です。
| コメント(0)
【Atom】キーバインドのCtrl+Uが効かない
2016.02.10
Atomをちょこちょこ使い始めてみたのですが、いろいろ試していたところ画像のサイズを挿入するキーバインド「Ctrl+U」が何故か効きませんでした。Emmetは入っているはずなのですが...?

「設定>キーバインド」から「Ctrl+U」のところを確認すると以下のようになっています。

ctrl-uemmet:update-image-sizeEmmetatom-text-editor:not([mini])
ctrl-ufind-and-replace:select-undoFind And Replace.platform-win32 atom-text-editor, .platform-linux atom-text-editor

見た感じ1行目がサイズを挿入するもののようですが、何やらもう一つ同じキーに別のコマンドがあたっています。
たくさん入れたパッケージのどれかに当っているのだと思いますが...
せっかくなので、このまま使える方法を探してみました。

■Atom Emmetの[ctrl + u]で画像のサイズが取得出来ない場合(Atom)
http://qiita.com/kazukiso/items/b366d3b1933a006e0166

こちらの記事がまさにでした!
どうやらキーマップで設定できるようです。

「ファイル>キーマップを開く」(日本語メニューの場合)でキーマップを開き、一番下の行に下記のように追記すれば良いとのこと。

'.platform-win32 atom-text-editor, .platform-linux atom-text-editor':
  'ctrl-u': 'unset!'
'atom-text-editor:not([mini])':
  'ctrl-u': 'emmet:update-image-size'

こちらで無事動くようになりました!
| コメント(0)
twitterのハッシュタグ検索・集計に便利なWEBサービス
2015.10.07
特定のハッシュタグが付いたツイートを検索し、統計を取ったりデータを保存できるサービス。
無料のものでいくつか見つかりましたが、実際にハッシュタグを用意して試したところ下記のサイトが一番検索の精度が高かったです。(というより、他はそもそも取得できなかったので何か条件があったのかも)

ツイポーート /twport
http://twport.com/


1.利用するにはまずアプリケーションの承認が必要です。
 右上の「ログイン」からログインし、アプリを承認します。

2.ログイン後、右上のユーザー名からダッシュボードを選択します。

3.新規作成からレポートを作成します。
 検索する単語やハッシュタグ、集計する期間などを入れます。

4.「さらに新しいツイートを検索」で最新のツイート状況を取得します。

5.右の「保存する」ボタンで保存します。

このレポートは自動では更新・保存されないので、
毎回検索し直し、保存する必要があります。

6.保存が完了したらダッシュボードに戻り、「TSV」ボタンからダウンロードします。


恐らくtwitter APIの仕様で取得できるツイートは一週間前程度までなので、
長い期間の集計をする場合はご注意を。
| コメント(0)

月別アーカイブ