タグ

mod_rewriteに関するamayanのブックマーク (5)

  • Kung Noi:rewriteモジュールでURLを書き換えろ!

    Apacheにはrewriteモジュールという大変便利なモジュールがある。こいつは、内部でURLを書き換えることができる。内部でURLを書き換えるって・・・、何ができるんよ。っていう人、こんなんできるんだよー。 PHPCGIで動的ページを作りたいけど、GoogleYahooのサーチエンジンに登録されなくなるんだよ・・・ 携帯でのアクセスは別ページにしたいけど、www.a.com/i/みたいにしたくない・・・ 動的ページでページがまだ作成されてない時にCGIへ飛ばしたい・・・ レンタルサーバで共有SSLがあるんだが、CGI、PHPはHTTPSで、それ以外はHTTPにしたいな・・・ 特定のリファイラやロボットにはアクセスさせたくない などなど、この他にもやり方次第でいろいろできちゃうんだよね。こんな便利なモジュールは是非使わないと。。。 前提条件 前提条件としては、もちろんApacheでr

  • cyano: mod_expiresとmod_rewriteを使ってサイトの帯域節約と体感速度を向上させる方法

    普通の帯域節約術としては、mod_deflateでdeflate圧縮するとか、CSSやJSファイルのHTTPレスポンスヘッダにLast-ModifiedやEtagを追加しておいて、ブラウザがHTTPリクエストヘッダにIf-Modified-SinceやIf-None-Matchを付加するようにし、コンテンツが変更されていなかったら304 Not Modifiedを返すという方法を取るかと思います。 しかし、HTTPサーバーはコンテンツの数だけ304 Not Modifiedを返さないといけないため、その分帯域を消費しますし、またCSSや画像などのパーツの304 Not Modifiedが返ってくるまで、そのパーツのレンダリングが行えないという問題があります(つまり体感速度に影響します)。 今回紹介するのはExpiresヘッダやCache-Control: max-age=31536000を

  • kamo from scratch: apacheのrewriteモジュールとproxyモジュールを同時に使う

    apacheでは、proxyモジュールとrewriteモジュールを使って、proxyリクエストのURIを書き換えることができます。ただ、その設定はちょっと分かりづらくて、しかもapacheのバージョンによって設定の仕方が異なります。今回はそのやり方をまとめてみました。 以下のようなケースを考えます。 ブラウザ --- プロキシ(apache) --- Webサーバ プロキシサーバのホスト名はsvr1 Webサーバのホスト名はsvr2 であるとします。ブラウザはプロキシsvr1をつかってsvr2にアクセスすることとします。 このとき、 http://svr2/foo/ へのリクエストは、実際にはsvr2には送らずに、svr1が横取りをして、http://svr1/bar/ の内容を返すようにするにはどのような設定をしたらよいでしょう。 apacheでは、URLの書き換えにはRewriteRu

  • Apache URL Rewriting Guide

    his document は http://www.apache.org/docs/mod/mod_rewrite.html にある Apache Group によるオリジナルの mod_rewrite マニュアルを補足するものです。ウェブマスターが普段、実際に直面している典型的な URL-based の問題を、mod_rewrite でどのように解決するかを記述しています。URL の rewriting ruleset を設定することによってそれぞれの問題を解決する方法を詳述してあります。 Table Of Contents はじめに 解決策 URL レイアウト Canonical URLs Canonical Hostnames DocumentRoot の移動 ディレクトリのスラッシュの解決 均一な URL 配置をした ウェブ・クラスタ 異なるウェブサーバへのホーム・ディレクトリの移

  • Milano::Monolog: mod_rewriteでサーバーの負荷が高いときだけリダイレクトする

    mod_rewriteでサーバーの負荷が高いときだけリダイレクトする ワタシが働いている会社のホームページは、たまーにYahooのトピックスからリンクされます。 トピックスに載るとそれはもう大量のアクセスが津波のように押し寄せてきて、あっというまにサーバーのリソースをいつぶしてアクセス不能になってしまいます。 こういうときのために、Contents Delivery Networkによるキャッシングも利用してます。 今までは、リンクされそうになったらmod_rewriteでリダイレクトって方法を使っていました。 でも毎回これをやるのが面倒になってきたので、なんとかならんかなーと思って、RewriteMapに初挑戦してみた。 RewriteMap使えばRewriteCondとかRewriteRuleにプログラムの出力結果を使うことが出来るようになるので、これでWebサーバーのロードアベレー

    Milano::Monolog: mod_rewriteでサーバーの負荷が高いときだけリダイレクトする
    amayan
    amayan 2007/02/15
    Apacheのmod_rewriteで実装するロードバランサーもどき。
  • 1