「WEB」カテゴリーアーカイブ

WordPress サイトのスマホ対応

スマートフォンやiPod touch でWordpressで構築されたサイトを見ると、かなり細かい表示になってしまいます。

スマートフォンやガラケー向けに別サイトを用意することも可能ですが、手間もかかります。

WordPressのデフォルトのテーマの一つであるTwenty Tenを解像度に応じて表示を変更するプラグインとテーマ “Responsive Twenty Ten” がありましたので紹介します。

プラグイン形式は “Download Plugin” から、テーマ形式は “Download Child Theme” から、お好みでどうぞ。

WordPressのデータベースサーバのみ引っ越し

いつの間にか、さくらのレンタルサーバのスタンダードで扱える MySQL データベースの数が1から20に増えていました。

いままで1つに諸々のサイトのデータベースを突っ込んでいたので、管理しやすくするために、分けることにしました。さくらの場合、MySQLのデータベースはバージョンによってサーバが異なる仕様です。ついでに5.1から5.5にバージョンアップしたデータベースを作成しました。他のレンタルサーバでは、localhostに接続することで使用できますが、さくらのレンタルサーバでは個別のサーバ名を指定することになります。

今回は別のサーバになりましたので、PhpMyAdminで手元のPCにバックアップしたものを、新しいサーバにそのままリストアしました。テーブルの数は12個でした。

その後、Wordpressをインストールしたフォルダのwp-config.phpのデータベース関連の記述を新しいものに変更しました。これで引っ越しは完了です。

レンタルサーバの初期ドメインへのアクセスをリダイレクト(htaccess)

レンタルサーバーのほとんどで、ユーザーIDやユーザー番号をサブドメインとして、webを公開できるようになっています。たとえば、example.comというドメインがレンタル元から提供されていて、useridというサブドメインで以下のようにアクセスできる様なケースが考えられます。

http://userid.example.com/

独自ドメインを取得した場合は、上記のようなURLでアクセスはしない(させたくない)と思いますので、.htaccessに以下のように設定します。(例として取得した独自ドメインをexample.netとします。ややこしいですが、例示のドメインには決まりがあるみたいです)

RewriteEngine on
RewriteCond %{HTTP_HOST} ^userid\.example\.com
RewriteRule ^(.*) http://www.example.net/$1 [R=301,L]

以前に、www付きとwwwなしのアクセスの統合に関するエントリで示した例の応用になっています。
これを.htaccessに記述することで、サブドメイン+レンタルサーバーのドメインをwww付きの独自ドメインにリダイレクトすることができます。

wwwなしとwww付きのアクセスを統合 (htaccess)

さくらインターネットのレンタルサーバではドメインの設定において、マルチドメインとして使用することを推奨されています。例えばexample.comのドメインを/exampleに割り当てたとき、www.example.comでもexample.comでもアクセスできるということです。ほかにもblog.example.comを/blogに割り当てるといった追加はもちろん可能です。サブドメインなしでアクセスがあった場合に、代表的なwwwに割り当てるのはありがたい設定ではあります。

ところがブラウザ上もwwwなしのままで表示されますし、検索園児になどには、サブドメインの有無で全く別のサイトと判断されますのでどちらかに統一した方がよいといわれています。
続きを読む wwwなしとwww付きのアクセスを統合 (htaccess)

Operaで日本語のフォントが輸入雑貨の説明書のようになってしまった。 (HTML)

WEBサイトのテスト等で簡単にHTMLを書いていたときに日本語のフォントが少々おかしくなってしまいました。読めないわけでもありませんし、テストだから別にいいやとも思いましたが、なんとも気持ちが悪い状態でした。エンコードはUTF-8です。最近よく使うようになったOpera(11.51)で起きました。Firefox、Chrome、IEでは問題ないようです。文字コードを指示しても変化はありませんでした。 続きを読む Operaで日本語のフォントが輸入雑貨の説明書のようになってしまった。 (HTML)

整数かどうか s_numeric,is_int,ctype_digit (PHP)

以前数値かどうか?というエントリで記述したようにPHPでの数値かどうかの判定にはis_intが使えると書きました。他にもctype_digitという関数があるのですが、この関数は”文字列”が”数字”かどうかを判定するので、string型で用いるのが前提になっています。つまり、float型はもちろん、int型もすべてfalseと判断されます。
いくつかの例でテストした結果を一覧表にしてみました。(PHPのバージョンは5.2.5)
続きを読む 整数かどうか s_numeric,is_int,ctype_digit (PHP)

最新の記事にだけAdsense広告を表示する (WordPress)

Google Adsenseの広告ユニットは1ページあたり3つまでと決められています。このサイトのように、記事を最新のものから複数個表示している場合、最初のいくつかの記事の下部にだけ広告を表示しています。

方法はこのサイトを参考にしました。

まず、ダッシュボードから、メインインデックスのテンプレート(index.php)を選択します。
その中で、記事を繰り返し表示している部分を探します。

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

このようになっているところを以下のように変更しました。

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); $post_counter++;?>

そして、広告ユニットを入れたい場所を探します。

<?php if ($post_counter <= 1) {
print <<<EOD
<script type
....
....
</script>
EOD;

そこに上記のように、取得したコードを print <<<EODとEOD;の間に入れて、完成です。(EOD;の前にはスペース等を入れないよう注意。)

$post_counterの最大値を指定することで、広告の表示回数を変更することができます。

CORESERVERで消えないファイルがある (レンタルサーバー)

文字コードの関係か、 ファイル名 の一部に日本語(2バイト文字)を使ったファイルが消せなくなりました。リネームもできない状態でした。net2ftpでも文字化けした状態で、文字コードを強制的にShift-JISにすると、ファイル名は表示されましたが、削除はできませんでした。(ファイル名以外のメニュー等は当然文字化けします。)

解決方法としてはCGIを作ってワイルドカードで削除することができるということでしたので、それにならって削除することにしました。

CGIは以下の通りです。こちらの記事やこちらの掲示板を参考にしました。属性は755とし、/public_htmlに設置しました。
続きを読む CORESERVERで消えないファイルがある (レンタルサーバー)