• ベストアンサー

apacheのmod_rewriteモジュール

WebサーバにてHTTP TRACEメソッドが有効になっている場合の処置として、いろいろなページを見てるとhttpd.confに次のように記述するとありますが RewriteEngine On RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F] 2行目と3行目の意味を教えてください。 特に2行目については、TRACKメソッドを指定しているようですが、TRACKメソッドとは如何なるものでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • entree
  • ベストアンサー率55% (405/735)
回答No.1

method が TRACE または TRACK に該当した場合した場合 (2 行目)、拒否しなさい (3 行目) という意味でしょう。 TRACK については、RFC-2616 (Hypertext Transfer Protocol -- HTTP/1.1, 参考 URL) 「5.1.1 Method」を見れば分かります。TRACK などというメソッドは存在しません。ただし、WebDAV によって、機能拡張している場合についてはよく分かりません。 あと、Apache 1.3.34 や 2.0.55 では TRACE を無効にするディレクティブが追加されているので、わざわざ mod_rewrite を使う必要はありません。ただし、デフォルトでは on になっているので、 TraceEnable off とする必要があります。 (参考記事) http://oshiete1.goo.ne.jp/kotaeru.php3?q=1723199

参考URL:
http://www.ietf.org/rfc/rfc2616.txt
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • httpsでmod_rewriteができない

    はじめまして。 Linux環境で、apacheのhttp.confにmod_rewriteを記載し、httpsとhttpを切り替えたいと思っています。 httpd.confに以下のように記述しています。 <IfModule mod_rewrite.c> RewriteEngine on  #(1)httpで/aaaa/bbbbにアクセスされたときにhttps://~に変えたい RewriteCond %{REQUEST_URI} ^/aaaa/bbbb RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R]  #(2)httpsで/cccc/ddddにアクセスされたときにhttp://~に変えたい RewriteCond %{REQUEST_URI} ^/cccc/dddd RewriteCond %{HTTPS} on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R] </IfModule> 上記(1)のhttpでのアクセス時には、mod_rewriteが効いてhttpsへ切り替えられるのですが、 上記(2)のhttpsでのアクセス時には、mod_rewriteが効いていないようでhttpへ切り替えられません。 rewriteログを見てみると、当サイトへhttpでアクセスした場合にはログが出力されますが、 httpsでアクセスした場合には出力されません。 そもそもhttpsでのアクセスの場合にhttpd.confのmod_rewriteが効いていないようです。 ですが、これに対しどこを調査すべきかが分かっていません。 SSLの設定自体は出来ていると思っていて、 https://xxxx.jpのようにアクセスするとちゃんとページが表示されます。 どの当たりに問題がありそうでしょうか? 解析のヒントを頂けたらと思います。 宜しくお願い致します。

  • HTTP TRACEメソッドについて

    不要な HTTP TRACEメソッドを遮断する為 httpd.confに以下を追加しました。 # TRACE deny RewriteEngine On RewriteCond %{REQUEST_METHOD} ^TRACE RewriteRule .* - [F] 実際に機能をクリアしているか・・・ 評価方法に困っております。 アドバイス及び参考になるサイトなどありましたら ご返答頂ければと思います。 Apache 2.0.55 を使用しております。

  • mod_rewriteについて

    mod_rewriteの質問です。 RewriteEngine on RewriteCond %{TIME_DAY}.html -s RewriteRule index.html test.php RewriteRule index.html %{TIME_DAY}.html と記述しているのですが、 %{TIME_DAY}.html が存在するのに、 RewriteCond部分でないと判定され、 %{TIME_DAY}.html が読まれてしまいます。 RewriteCond部分の条件部分の記述方法が間違っているのでしょうか?

  • もう限界です間違い教えてください mod_rewrite .htacsessのりダイレクト

    間違い教えてください エイチティティアクセスファイルに 1番 RewriteEngine on RewriteCond %{HTTP_HOST} ^(hoge\.jp)(:80)? RewriteRule ^(.*) ​http://www.hoge.jp/$1​ [L] 2番 RewriteEngine on RewriteRule ^/$i/$ $i.php?a=$a 上の二つ記述してます 2番が効きません ○○.phpを/○○/ にするだけです 以上

  • RewriteRule有効について(Apache設定)

    Apache2をWindows2kにインストールし運用しています。 RewriteRuleを行うが有効になりません。 httpd.confと.htaccessは、以下のように記述しています。 .htaccessは、レンタルサーバーに転送しテストすると正常に動作します。 と言うことは、ローカルサーバーの環境設定がまずいと言うことになるかと思うのですがどうしても分かりません。 ご教授の程、宜しくお願いします。 -----(httpd.conf)----- Options All AllowOverride All LoadModule rewrite_module modules/mod_rewrite.so -----(httpd.conf)----- -----(.htaccess)----- RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^info.html+ info.php RewriteRule ^k/index.html$ k/index.php RewriteRule ^k/([0-9A-Za-z]+)/$ k/index.php?id=$1 -----(.htaccess)-----

  • mod_rewriteが効かない!

    サーバの運用上、mod_rewriteを使う必要が出来たので設定してみたのですが効きません。 FreeBSD4.11+Apache1.3.33で httpd.confファイルに直接書き込んで試しています。 LoadModule rewrite_module modules/mod_rewrite.so AddModule mod_rewrite.c のどちらも書いてあるにもかかわらず、下記のテスト設定を試してみたらローカルIPからアクセス出来てしまいます。 RewriteEngine on RewriteCond %{REMOTE_ADDR} ^192\.168\.1\. ←ローカルネットワークのアドレス RewriteRule ^.*$ - [F] どのようにしたらいいですか? アドバイスお願い致します。

  • mod_rewriteで整形してリダイレクトすると

    教えてください。 http://blog.livedoor.jp/trisys/archives/3950417.html のように http://www.test.com/?page=1にアクセスすると http://www.test.com/1/にリダイレクトするようにできました。 しかし、 404エラー表示されます。 どうしたらいいのでしょうか? .htaccessに記載した内容は下記のとおりです RewriteEngine on RewriteCond %{THE_REQUEST} ^GET\ /\?page=([0-9]*)(.*)$ RewriteRule ^.* http://%{HTTP_HOST}/%1/? [L] よろしくお願い致します。

    • 締切済み
    • PHP
  • mod_rewriteの変換について

    こんにちは。 現在、業務でmod_rewriteの設定をしているのですが、こまっています。 やりたい事は http://localhost/hoge/aaa/bbb/ のアクセスがきた時に http://localhost/hoge/?action_aaa_bbb_index=true の内容を表示したいです。 但し、URLは http://localhost/hoge/aaa/bbb/ という感じです。 他のサイトで調べて、設定をしたのですがどうしても http://localhost/hoge/aaa/bbb/ アクセスすると http://localhost/hoge/以下のディレクトリィが表示されてしまいます。 また最後のオプションを[R]にすると表示はされますが http://localhost/hoge/?action_aaa_bbb_index=true にURLが書き換わってしまいます。 (これは当然なので、認識しています。) 以下、設定を記述します。 よろしくお願いします。 ■環境 windows XP apache2.2 ■記述箇所 httpd.conf --------設定内容--------- RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/hoge/([0-9A-Za-z]+)/([0-9A-Za-z]+)/?$ /hoge/?action_$1_$2_index=true [L] AllowEncodedSlashes On

  • mod_rewriteで静的化(PHP)

    ご質問です。 例えば以下のような静的なページをmod_rewriteを使って.htaccessで作成しようとしています。 RewriteRuleの記述内容がよくわからず困っています。 また、.htaccessは、どのディレクトリに配置すればよいでしょうか。 どなたかご存知でしたら教えて下さい。 http://localhost/free/index.php?action=member →http://localhost/free/member http://localhost/free/index.php?action=bbs →http://localhost/free/bbs http://localhost/free/index.php?action=usr →http://localhost/free/usr このような記述をしていますが、ご指摘お願いします。 ---------------------- DirectoryIndex index.php RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([0-9A-Za-z)]+)$ index.php?action=$1 [L] ---------------------- 宜しくお願いします。

    • 締切済み
    • PHP
  • mod_rewriteの書き方に困っています。

    http://www.○○○.com/1/2/3.htmlといった静的なリクエストを、 .htaccessを使って動的リクエストに読み替えています。 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]*)\.html$ index.php?a=$1&%{QUERY_STRING}[L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]*)/([^/]*)\.html$ index.php?a=$1&b=$2&%{QUERY_STRING}[L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ index.php?a=$1&b=$2&c=$3&%{QUERY_STRING}[L] 違うのはディレクトリの階層(=引数の数)で、最大でa~eまで5つです。 ご覧のとおり、引数がいくつの場合でも、条件は同じなのです。 もっとスマートに書く方法があると思い、あれこれ試していますが、 自力ではうまくいかず、この形で運用しています。 技術向上のため、簡潔な書き方があれば知りたいです。 お気づきの書き方をご教示下さい。よろしくお願いします。 なお、php等を使ったスクリプトでの解析の提案ではなく、 .htaccessの記述方法としてのアドバイスをお願いします。