htaccess

deny from allしたあとでDirectoryIndexな場合をallowする

例えば次のようなURLへのアクセス 〜.com/foo/ このfooというディレクトリ内の.htaccessファイルを #.htaccess #とりあえずホワイトリスト方式 order allow,deny deny from all としたなら、当然、このアクセスはdenyされる。 allowしたいが、 allow from al…

mod_rewriteが扱うパスはデコードされている

foo/あああ/ をuriencodeすると foo/%E3%81%82%E3%81%82%E3%81%82/ になります。 ブラウザは日本語のURLでも自動的にこんな風にエンコードしてリクエストするんですが、このパスをmod_rewriteで、 # foo/文字列/ -> 文字列.html に変換 RewriteRule ^foo/([^…

mod_rewriteでパスを書き換えてクエリを付加しても、methodがPOSTだとcgi.FieldStorage()はそれを拾ってくれない

これはPOSTのときはstdinからos.environ['CONTENT_LENGTH']の長さだけ拾ったものをクエリストリングとして認識するからなんですが、 #cgi.pyのこの部分 if headers is None: headers = {} if method == 'POST': # Set default content-type for POST to what…

mod_rewriteを使ってCGI環境で超高速にキャッシュを返す

キャッシュしてもいいHTMLを返すCGIであれば、以下のようにすることでレスポンスがとても高速になる coreserverとかcoreserverとか、fastcgiが使えないので考えた苦し紛れではあるが用途によってはかなり効果がありそう mod_rewriteでキャッシュがあるかを判…