Archive for the ‘Apache’ Category

Mac で Apache を再起動する方法

私の知る限り Mac で Apache を再起動する方法は2点あるので自分用にメモ。

apachectl を使った再起動

apachectlを使用してみるを参考にさせていただきました。

1
$ /usr/sbin/apachectl restart

Web 共有から再起動

システム環境設定の共有から Web 共有のチェックを外してから、もう一度チェックをすると再起動されます。こちらの方が良いみたいです。

.htaccess でディレクトリのファイル一覧を非表示にする方法

通常ディレクトリのファイル一覧を非表示にする場合、Apache のを設定してやります。要は httpd.conf を以下のように設定をしますですね。

1
Options Indexes FollowSymLinks

と書いてある部分を以下のように設定します。

1
Options FollowSymLinks

.htaccess で指定することもできます。共用サーバーとかだったら弄れないと思うので、そういう時に便利です。

1
Options -Indexes

URL の www 無し有りを mod_rewrite モジュールで統一する

www 無しの URL と www 有りの URL どちらでも同じコンテンツにアクセスできる状態にあるのは、あまり良いことではありません。例えば Google ページランクが www 無しの URL と www 有りの URL では違うと言った事態が発生します。
このような事態を招かないようにするために、apache の mod_rewrite モジュールを使ってページの URL を統一しましょう。

www 無しの URL に統一する場合

www 有りの URL にアクセスされた場合に、www 無しの URL にリダイレクトさせます。

1
2
3
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.c-list\.net)(:80)? [NC]
RewriteRule ^(.*) http://c-list.net/$1 [R=301,L]

www 有りの URL に統一する場合

www 無しの URL にアクセスされた場合に、www 有りの URL にリダイレクトさせます。

1
2
3
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(c-list\.net)(:80)? [NC]
RewriteRule ^(.*) http://www.c-list.net/$1 [R=301,L]

www 無しが良いのか www 有りのどちらが良いのかという点について、やっぱり Web 2.0 の流れにのって www 無しの方が良いのでしょうか。この件に関してVistaジュースの缶に書かれた謎のURLを追え!にとても興味深い一文がありました。

wwwありのURLは、実在のホスト名を指すが、ドメイン名というのは本来実体のない抽象的な存在だ。だから、wwwなしのドメイン名そのものをアクセス可能なURLとして設定するというのは、従来の設定方法から比べると、ややトリッキーではある。しかし、「もう時代は変わった。こっちのほうが便利だらかいいんじゃん?」というノリで変えてしまうルーズさ、またそれができてしまうという、いい意味での仕様の曖昧さこそ、インターネットの重要な本質ではないだろうか。インターネットが活力を失わずに進化を続けられているのはガチガチに仕様が決まっていないこと。だとしたら、wwwなしがWeb2.0的だ。

Web で何かを作っていくということは、頭が柔らかくなくてはいけないということなんですね。仕方無いとか、こうするしかないとか、そういう考え方ではなく、簡単になるんだったらもっと簡単にしていけば良い、わざわざ面倒事をしていく必要がないのが、Web の世界なのだと感じました。いつまで経っても過去に固執し、現在に満足してるような人間じゃダメってことかもですね。
追記(2009/4/26):2009 年 4 月 16 日 12:55 amから日付を変更しました。

Apache の mod_rewrite モジュールを利用して動的 URL を静的 URL にする

WordPressのパーマリンクにも使われている機能のようで、Apacheのmod_rewriteを利用することで、http://example.com/hoge/page.php?id=10 なんていう動的なURLを、http://example.com/hoge/page/10 なんていう静的なURLに変更することが可能だそうです。素晴らしい機能です。

詳しくは以下のページに書いてあります。
41. mod_rewriteを使いこなそう:ITpro

ファイル演算子

ファイル演算子「 -d 」で、ディレクトリの存在を確認する。 – Perl入門?サンプルコードによるPerl入門?
ファイル演算子「 -f 」で、通常ファイルの存在を確認する。 – Perl入門?サンプルコードによるPerl入門?

mod_rewriteを使う際は404の扱いに注意

mod_rewrite を使うときには 404 の扱いに注意 – World Wide Walker
mod_rewriteを使ってるとついついやり過ぎてしまって本来なければいけないものまでを消滅させちゃいます。でもこの記事を読んで気付きました。やり過ぎは良くないってことを。

XAMPPをVISTAにインストールして、ローカル環境で複数のドメインを管理する。

Apacheを普通にインストールしただけでは、http://localhost/ からしかサイトの動作を確認できないので、非常に不便です。
しかし、XAMPPをインストールし設定することで、http://sub.localhost/ など複数のドメインを管理することができるので、複数のサイトを制作・管理するのに大変便利です。

忘れないようにするためにメモしておきます。参考になれば幸いです。

環境

インストール

C:xampp にXAMPPをデフォルトの設定でインストールします。
XAMPPはこちらから最新版をダウンロードできます。 (続きを読む…)

Apacheを設定してhtmlをphpとして動かす

ローカル環境にPHPとApacheをインストールして作業をしていますが、ローカルでは.htaccessによる設定が反映されないようなので?わざわざApacheに直接設定することにしました。しかもマシンがVISTAということで、UACがほんとうざい。寝起き不機嫌な私としてはキレそうになりました。

とりあえず、Apacheの中にあるhttpd.confにある

1
AddType application/x-httpd-php .php

を次のように変更するだけ。とても簡単なんですが、VISTAではUACとかがポンポン出てきて、UAC無効にしなきゃいけなくて、でも結局無効にしないで無理やりゴリゴリと押し込んだんですが。

1
AddType application/x-httpd-php .php .html

そろそろPCの買い替え時なので、VISTAからXPに戻したいところ。しかしMACのPCもとても気になります。また関係ありませんが、Linuxとかもとても興味があります。生活に余裕ができたら弄ろう。

追記:Apacheを.htaccessが使えるように設定する。で解決しました。