日記帳
本ページはプロモーションが含まれています
カテゴリー
Links
blog(ブログ)マスター
アンドロイドの巣
ゼロから始めるベランダ菜園
タイトル
2024年11月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

AddHandler, RemoveHandler が動作しない

2021-03-01
AddHandler, RemoveHandler が動作しない

執筆: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


PR

[PR]