AddHandler, RemoveHandler が動作しない
カテゴリー: レンタルサーバーやcgi
2021-03-01
AddHandler, RemoveHandler が動作しない
Apache2.4
.htaccessの
AddHandler, RemoveHandler が動作しない
SetHandlerは動作する
Apacheを2.4.46にアップグレードしてみたが直っていない。
ネットで調べると2017/03頃にはすでに報告されているバグ。
2010年ごろに報告されたバグとは別物っぽい。
http.conf
Options All
AllowOverride All
mime_moduleはロード済み。
ロードされていなかったら、.htaccessに記述した時点で落ちますしね。
Apacheのソースコード調べてもいいけど面倒。
このフォルダだけバージョンを切り替えて動作確認したいという用途につかうのでちょっと不便。
Windowsだと問題は発生しないので、Unixでの複数動作確認はスキップしよかなぁ
ソースコードを少しのぞいてみた
$ find httpd-2.4.46 -name "*mime*.c"
httpd-2.4.46/modules/http/mod_mime.c
httpd-2.4.46/modules/metadata/mod_mime_magic.c
$ find httpd-2.4.46 -name "*suex*.c"
httpd-2.4.46/modules/generators/mod_suexec.c
httpd-2.4.46/support/suexec.c
ForceType, SetHandlerは、core_dir_config 構造体の所属で強制執行される。
httpd-2.4.46/server/request.c: ap_process_request_internal
モジュールをまたいでイベントが無視されているんだろうから
モジュールの順番を変えてみても結果は同じだったのでデバッグでステップ実行しないと問題の場所が分からないので
かかわらないことにする。
開発環境上で発生した問題なので
AddHandlerの代わりには
ForceType, SetHandler, FilesMatch, RewriteRuleの組み合わせで数通り作れるのでそっちの方向で解決。
名称を変更したり条件を色々試してみると
読み込んではいるようなので、観察結果から推察するに
Handlerが
http.conf → .htaccess → .htaccess
の流れで判定されないといけないものが
本来とは逆の流れで判定されている感じです。
.htaccess → http.conf
執筆:2021.03.01
編集:2021.03.01
編集:2021.03.01
Apache2.4
.htaccessの
AddHandler, RemoveHandler が動作しない
SetHandlerは動作する
Apacheを2.4.46にアップグレードしてみたが直っていない。
ネットで調べると2017/03頃にはすでに報告されているバグ。
2010年ごろに報告されたバグとは別物っぽい。
http.conf
Options All
AllowOverride All
mime_moduleはロード済み。
ロードされていなかったら、.htaccessに記述した時点で落ちますしね。
Apacheのソースコード調べてもいいけど面倒。
このフォルダだけバージョンを切り替えて動作確認したいという用途につかうのでちょっと不便。
Windowsだと問題は発生しないので、Unixでの複数動作確認はスキップしよかなぁ
ソースコードを少しのぞいてみた
$ find httpd-2.4.46 -name "*mime*.c"
httpd-2.4.46/modules/http/mod_mime.c
httpd-2.4.46/modules/metadata/mod_mime_magic.c
$ find httpd-2.4.46 -name "*suex*.c"
httpd-2.4.46/modules/generators/mod_suexec.c
httpd-2.4.46/support/suexec.c
ForceType, SetHandlerは、core_dir_config 構造体の所属で強制執行される。
httpd-2.4.46/server/request.c: ap_process_request_internal
モジュールをまたいでイベントが無視されているんだろうから
モジュールの順番を変えてみても結果は同じだったのでデバッグでステップ実行しないと問題の場所が分からないので
かかわらないことにする。
開発環境上で発生した問題なので
AddHandlerの代わりには
ForceType, SetHandler, FilesMatch, RewriteRuleの組み合わせで数通り作れるのでそっちの方向で解決。
名称を変更したり条件を色々試してみると
読み込んではいるようなので、観察結果から推察するに
Handlerが
http.conf → .htaccess → .htaccess
の流れで判定されないといけないものが
本来とは逆の流れで判定されている感じです。
.htaccess → http.conf