[Apache]


この日記のはてなブックマーク数 このエントリーを含むはてなブックマーク

RewriteCondディレクティブでRewriteRuleの条件を設定できます。複数の条件を設定することが可能。

※RewriteCondの前にRewrite Engine On とする必要があります。


[書式]
RewriteCond テストする変数 パターン [フラグ]


フラグには[NC]もしくは[OR]を指定できます。フラグを二つ設定するにはカンマで区切ります。(例: [NC, OR]


[NC] - 大文字小文字を区別せずにパターンと一致するかどうかをテストします。
[OR] - いずれかのRewriteCondにあてはまる場合にRewriteRuleを適用します。[OR]を明示しない場合、自動でANDになります。


テストする変数には以下のようなものが使用できます。

HTTP_USER_AGENT
HTTP_REFERER
HTTP_COOKIE
HTTP_FORWARDED
HTTP_HOST
HTTP_PROXY_CONNECTION
HTTP_ACCEPT
REMOTE_ADDR
REMOTE_HOST
REMOTE_USER
REMOTE_IDENT
REQUEST_METHOD
SCRIPT_FILENAME
PATH_INFO
QUERY_STRING
AUTH_TYPE
DOCUMENT_ROOT
SERVER_ADMIN
SERVER_NAME
SERVER_ADDR
SERVER_PORT
SERVER_PROTOCOL
SERVER_SOFTWARE
TIME_YEAR
TIME_MON
TIME_DAY
TIME_HOUR
TIME_MIN
TIME_SEC
TIME_WDAY
TIME
API_VERSION
THE_REQUEST
REQUEST_URI
REQUEST_FILENAME
IS_SUBREQ
HTTPS


[使用例]


#リファラーが空の場合、アクセスを拒否する
RewriteEngine On
RewriteCond %{HTTP_REFERER} $^
RewriteRule ^.*$ [F]


#http://www.example.com を http://www.example.jpにとばす
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^/(.*) http://www.example.jp/$1


#すべてのアクセスをトップページに飛ばす
#ループをさけるため、トップページへのアクセスはリダイレクトをかけない

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/$
RewriteRule ^/.*$ http://www.example.com [R]




関連記事
ScriptLog - CGIスクリプトのエラーログ
mod_proxy_balancerによる負荷分散
MultiViews - 拡張子の自動判別
CGIファイルがあるのに No such file とログにでる
ドキュメントルート直下でファイルの一覧が見れない
MIMEの設定
mod_auth_pgsql
Redirect - URLのリダイレクト
自己署名証明書の作成
Turbolinux - SSLの起動
apache + mod_ssl のインストール
mod_perlのインストール
keytool error: java.io.IOException: AVA parse, quoted strings NYI
tomcat - SSLの設定
tomcatの起動と停止
外部参照の禁止
PHPのソースが表示されてしまう
ファイル名によるアクセス制限
Apacheのバージョンを調べるには
Invalid method in request
file permissions deny server access
SetEnvIfNoCase
LogFormat - アクセスログの出力形式を指定
mod_usertrack - トラッキングクッキーの発行
SSIの主な使用方法
RewriteCond - RewriteRuleの条件を設定
suexecのコンパイル時の設定確認
apacheのバージョン情報を隠すには
SSIを使用するには
CustomLog - アクセスログの保存場所を指定
seg fault or similar nasty error detected
SSLの起動
ユーザエージェントによるアクセス制限
バーチャルホストの設定をするには - NameVirtualHost
バーチャルホストの一覧を見るには
apacheのアクセスログに出現するfavicon.icoとは
httpd.confのsyntaxをチェックをするには
mod_perlに関して
SetEnvIfを使用したログの振り分け
ErrorDocument - エラーメッセージのカスタマイズ
IPによるアクセス制限
AddHandler default-handler
リソース制限
RedirectMatch - URLのリダイレクト
パスワードによる基本認証
Apache2.Xの文字化け
SSL証明書のインストール方法
CSRの作成方法 (Apache+ModSSL)
広告