S eda1a14b50ee24bcab19b62f40858e76 apache

モジュールのマニュアル
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を使う


  
     allow from all
  


ディレクトリアクセスしたときに中身を表示しない

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ファイルだけに適用させる


  ...


IP直打ちの場合は別のVirtualHostを表示したい

IP直打ちするとVirtualHostの一番最初の設定が表示される。

てきとーなやつを先頭に入れるだけでよい。

VirtualHostを設定したのにIP直打ちで来る人を残念賞にする方法
http://d.hatena.ne.jp/ir9Ex/20071014/11923...

キャッシュクリア



Header set Pragma no-cache
Header set Cache-Control no-cache



画像等不要なファイルはアクセスログを取らないようにする

SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(css)|(js)|(ico)$" nolog
CustomLog "/path/to/log" combined env=!nolog

CustomLogで否定しないやり方も考えてみた。
URIのマッチングに否定戻り読み言明を使った。
SetEnvIf Request_URI "(?こうすれば、特定のディレクトリのみ別のログにするというのも可能

(上記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」

    S eda1a14b50ee24bcab19b62f40858e76

    無所属ソフトウェアエンジニア

    (1722words)

    最新

      最新エントリ

        関連ツイート