apache
0pt
モジュールのマニュアル
http://httpd.apache.org/docs/2.2/ja/mod/
オプション
$ sudo /etc/init.d/httpd restart $ sudo /etc/init.d/httpd graceful
gracefulオプションは現在実行中のプロセスを待ってから再起動する
設定逆引き
phpファイルをテキストで表示
AddHandler text/plain .php
強制的にphpとして実行
ForceType application/x-httpd-php
.htaccessを許可/禁止する
AllowOverride All # 許可 AllowOverride None # 禁止
ディレクトリアクセスしたときにindex.htmlを表示する
DirectoryIndex index.html
DocumentRootのディレクトリ以外を公開したい
Aliasを使う
Alias /hoge "/path/to/htdocs"
VirtualHostを使う
<VirtualHost 127.0.0.1> <Directory /path/to/htdocs> allow from all </Directory> </VirtualHost>
ディレクトリアクセスしたときに中身を表示しない
Options -Indexes
表示したい場合はハイフン"-"なしで
シンボリックリンクをたどるのを許可する
Options FollowSymLinks
hogeをリクエストしてhogeがなければhoge.*を表示するようにする
Options MultiViews
Basic認証をかける
AuthType Basic AuthName "authenticate required" AuthUserFile /path/to/.htpasswd Require valid-user
他の設定ファイルを読み込む
Include /path/to/another/httpd.conf
phpファイルだけに適用させる
<Files ~ "\.php$"> ... </Files>
IP直打ちの場合は別のVirtualHostを表示したい
IP直打ちするとVirtualHostの一番最初の設定が表示される。
てきとーなやつを先頭に入れるだけでよい。
VirtualHostを設定したのにIP直打ちで来る人を残念賞にする方法
http://d.hatena.ne.jp/ir9Ex/20071014/1192366566
キャッシュクリア
<IfModule headers_module>
<Files ~ "\.css$">
Header set Pragma no-cache
Header set Cache-Control no-cache
</Files>
</IfModule>
画像等不要なファイルはアクセスログを取らないようにする
SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(css)|(js)|(ico)$" nolog CustomLog "/path/to/log" combined env=!nolog
CustomLogで否定しないやり方も考えてみた。
URIのマッチングに否定戻り読み言明を使った。
SetEnvIf Request_URI "(?<!\.gif)(?<!\.jpg)(?<!\.png)(?<!\.css)(?<!\.js)(?<!\.ico)$" hoge CustomLog "/path/to/log" combined env=hoge
こうすれば、特定のディレクトリのみ別のログにするというのも可能
(上記SetEnvIfをDirectoryディレクティブに追加すればいい)
[^\.(gif)|(jpg)] でいけるかなと思ったけど、文字に分解されちゃうのでダメだった。
アクセスログを日別に記録する
CustomLog "|/usr/sbin/rotatelogs /path/to/log/access.%Y%m%d.log 86400 540" combined
ログにPHPから情報を追加する
http://neta.ywcafe.net/000607.html
apache_note("originallog", $val);
LogFormat "%h %l %u %t \"%r\" %>s %b %{originallog}n" common
メモ
- 同じパスのDirectoryディレクティブを2つ書くと、常に後に記述した方のみが適用され、前の方の設定は失われるっぽい。
あなたにとって「apache」とは?
お気に入りの説明
0 pt
UNIX 系 OS で動く WEB サーバー UNIX 系だと、他にも NCSA H TTP d Netscape Enterprise Server などがあるらしい。
もっと読む
コメントはまだありません