mod_rewriteを使って.htaccessだけで各種ステータスコードを返す
ちょっと503エラーの時の動作を確認したいようなときにお手軽にやる方法です。mod_rewriteを使えばプログラムを書いたりしなくてもいろいろなステータスコードのレスポンスを作れます。
以下サンプル。
- 400 Bad Request
- 401 Authorization Required
- 402 Payment Required
- 403 Forbidden
- 404 Not Found
- 500 Internal Server Error
- 501 Method Not Implemented
- 502 Bad Gateway
- 503 Service Temporarily Unavailable
.htaccessが使える環境で、次の.htaccessファイルを作りました。
RewriteEngine on RewriteRule 200 . [R=200,L] RewriteRule 201 . [R=201,L] RewriteRule 202 . [R=202,L] RewriteRule 203 . [R=203,L] RewriteRule 204 . [R=204,L] RewriteRule 205 . [R=205,L] RewriteRule 206 . [R=206,L] RewriteRule 400 . [R=400,L] RewriteRule 401 . [R=401,L] RewriteRule 402 . [R=402,L] RewriteRule 403 . [R=403,L] RewriteRule 404 . [R=404,L] RewriteRule 405 . [R=405,L] RewriteRule 406 . [R=406,L] RewriteRule 407 . [R=407,L] RewriteRule 408 . [R=408,L] RewriteRule 409 . [R=409,L] RewriteRule 410 . [R=410,L] RewriteRule 411 . [R=411,L] RewriteRule 412 . [R=412,L] RewriteRule 413 . [R=413,L] RewriteRule 414 . [R=414,L] RewriteRule 415 . [R=415,L] RewriteRule 416 . [R=416,L] RewriteRule 417 . [R=417,L] RewriteRule 418 . [R=418,L] RewriteRule 419 . [R=419,L] RewriteRule 420 . [R=420,L] RewriteRule 421 . [R=421,L] RewriteRule 422 . [R=422,L] RewriteRule 423 . [R=423,L] RewriteRule 424 . [R=424,L] RewriteRule 425 . [R=425,L] RewriteRule 426 . [R=426,L] RewriteRule 500 . [R=500,L] RewriteRule 501 . [R=501,L] RewriteRule 502 . [R=502,L] RewriteRule 503 . [R=503,L] RewriteRule 504 . [R=504,L] RewriteRule 505 . [R=505,L] RewriteRule 506 . [R=506,L] RewriteRule 507 . [R=507,L] RewriteRule 508 . [R=508,L] RewriteRule 509 . [R=509,L] RewriteRule 510 . [R=510,L]
ファイルは手書きでも何でも適当に作ればよいですけど、Perlで作るならこんな感じです。
#!/usr/bin/env perl use strict; use warnings; my @code_list = ( 200 .. 206, 400 .. 426, 500 .. 510, ); print "RewriteEngine on\n"; foreach my $code (@code_list) { printf "RewriteRule %d . [R=%d,L]\n", $code, $code; }