リダイレクトの設定が完了しました
新ドメインはhttp://yusukezzz.net/です
サブドメイン(blog.yusukezzz.netみたいなの)は設定するかどうしようか悩み中です(かなり面倒くさそう…)
今のところドメイン名部分が変わっただけなので表示に問題はないと思いますが、
手入力で直さなければならないところも多少あったと思うので、もしリンク切れがあったら連絡を頂けると助かります
今回のリダイレクトはyusukezzz.dyndns.orgのvirtualhost設定に以下のように書きました
Redirect permanent / http://yusukezzz.net/
後はyusukezzz.netのvirtualhost設定を用意(コピーして微修正)すれば完了です
Apache2をインストールすると「ab」というコマンドもセットで付いて来ます
(多分他にもユーティリティがあるんでしょうが、詳しくは知らないです;)
このコマンドは指定回数HTTPリクエストを発生させて、その処理に掛かった時間を計測してくれるというものです
使い方は簡単で、
$ ab -n 1000 -c 20 http://localhost/action.php?q=hoge
のような感じで使います
-nでリクエスト数、-cで想定する同時アクセス数を指定しています
他にもオプションはありますので調べてみてください
#ちなみに、Railsのdevelopmentとproductionで同じアクションを計測したところ、
#素のML115においてproductionは約半分の時間で処理できるようになってました
今回は旧blogの記事をこのblogの記事にパーマネントリダイレクトしたいと思ったので調べてみました!
しかし、単純にリダイレクトしようと思っても馬鹿やったせいで記事番号がずれており、ドメイン部分を書きえるだけでは済みません;
これは大手術が必要そうだ…ということでmod_rewrite、ruby両先生にお願いしました
Read more…
久々のURLネタだぜ…もう書かなくていいって思ってたのに;
今回の問題はWEBサーバごとのQUERY_STRING環境変数の挙動の違いです
QUERY_STRINGっていうのはURLの?以降の内容を文字列として保存している環境変数で、サーバごとに仕様が異なるのが困り物
Lihttpdではそもそも使えなかったりします
WEBrickでは?以降がなければ中身がnil(未定義?)になります
Apache2では?以降がなくても変数としては存在します
なので、QueryStringのないURLでアクセスすると
query_str = (request.env['QUERY_STRING'])?('QueryString = ' + request.env['QUERY_STRING']):('QueryString is not exist')
# Apache -> query_str = 'QueryString = '
# WEBrick -> query_str = 'QueryString is not exist'
こんな感じの動作になる
今回は中身まで(空かどうか)確認して事なきを得ました
URLをパラメータとして渡す話の続きです
JavaScriptのencodeURIComponent等でエンコードしたURLを渡す場合
Rails側ではてっきり文字列としてわたると思っていたのですが、どうやらApache側の仕様で自動的に%2Fが/にデコードされて伝わるようです
そのため’/'区切りの通常のURLと認識されてしまい、404エラーが返っていました;
Apacheで%2Fをそのまま渡すには
AllowEncodedSlashes On
という設定を追加します(自分はバーチャルホスト設定のところに書きました)
※対応しているApacheのverは2.0.46以降となっています