タグ

mod_rewriteに関するkoko1000banのブックマーク (15)

  • Test::Apache::RewriteRules で mod_rewrite のテストを書こう - 大西日記 - はてなダイアリー

    YAPC::Asia Tokyo 2010 で LT してきました。以下はその資料(に少し説明を追加したもの)です。 mod_rewrite 正規表現によるURL書き換えモジュール スイス製アーミーナイフ / 黒魔術 まだ Apache 使ってますよね? reverse proxy とか… はてなの mod_rewrite 活用事例 ほぼ reverse proxy URLにより用途別のbackendに振り分ける 用途によりbackendを分けリソース効率化 特定のアクセスをキャッシュサーバーに振る URL加工 Squidにキャッシュさせたいが同一URLで異なるコンテンツを返す場合がある →クエリに情報を付加する BAN! 便利な半面… 増える! $ cat jp.www.proxy.apache.conf | grep Rewrite | wc -l 179 テストしづらい! → 一行加

    Test::Apache::RewriteRules で mod_rewrite のテストを書こう - 大西日記 - はてなダイアリー
    koko1000ban
    koko1000ban 2010/10/17
    これほんと素敵
  • Apacheのmod_rewriteを使ってフェイルオーバー? - フタなしカンヅメ

    Apacheのmod_rewriteを使って、フェイルオーバーみたいなことができないかと思い、ちょっとやってみることにしました。 フェイルオーバーといったら大げさな感じですが、もうちょっと格的にやるならmod_proxy_balancerを使ったほうがいいと思うので。。。 現在下記のような構成で運用しているサーバがありますが、静的ファイルを配信するサーバBが落ちている場合やオフになっている場合などは、サーバBから配信したいという感じです。 サーバA -> CGIの処理や比較的軽いHTMLを処理 サーバB -> 主に画像などの重たい静的ファイルを処理かなり限定的な環境だと思うのですが、サーバAで一度リクエストを受け、画像ファイルだけをリダイレクトでサーバBに転送しています。 なので、サーバBが落ちていたりした場合、サーバBに転送せずにサーバAで返却したいというわけです。サーバAでも同じデー

    Apacheのmod_rewriteを使ってフェイルオーバー? - フタなしカンヅメ
  • mod_rewriteでリダイレクトあれこれ - てつじんにっき

    ドメインの正規化 wwwあり・なしをどちらか片方に寄せたい場合。 今回はwww.example.comなど、example.com以外でアクセスされたらexample.comにリダイレクトする設定。 <VirtualHost *:80> # (1) ServerName example.com ServerAlias www.example.com RewriteEngine On # (2) RewriteCond %{HTTP_HOST} !^example\.com # (3) RewriteRule .* http://example.com$0 [QSA,NE,R=301,L] </VirtualHost> (1)で、どちらのホスト名でもVirtualHostが動くようにする。 (2)は正規表現の末尾に$を付けないようにする。Hostリクエストヘッダは Host = "Host"

    mod_rewriteでリダイレクトあれこれ - てつじんにっき
  • mod_rewriteのコンテキストとサブリクエストについて調べた。 - こせきの技術日記

    発端 WordPressでパーマリンクをカスタマイズすると、下の設定を.htaccessに書くように言われる。 Using Permalinks « WordPress Codex RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]これをhttpd.confに移すと以下のように書ける(と思っていた)。 RewriteEngine On RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d RewriteRule . /index.php [L]Dir

    mod_rewriteのコンテキストとサブリクエストについて調べた。 - こせきの技術日記
  • livedoor Techブログ : mod_rewrite マニアックス

    こんにちは。開発部の池邉です。 既に色んなところで発表していますが、ライブドアではWebサーバとして殆んどのサービスでApacheを使用しています。 Apache の特徴として、モジュールによる機能の追加、挙動の制御があります。その中でもよく利用されていながら、深く使っていくとハマりどころや謎の機能の多いモジュールとして mod_rewrite があります。Apacheの公式サイトでも以下のように書かれている事からも、家でもその点については認めているという事でしょう。 今回はそんな mod_rewrite のちょっとマニアックな拡張方法について紹介したいと思います。 Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. 変数を利用したプログラム

  • apache :: Rewrite(mod_rewrite) [Tipsというかメモ]

    ! 文字列の前につけることで、否定を表現 < 文字列比較 > 文字列比較 = 文字列比較 -d 指定したディレクトリが存在すれば true -f 指定したファイルが存在すれば true -s ファイルが存在し、サイズが0でなければ true -F アクセス可能な有効なパスを指している場合に true (内部サブリクエストを用いてcheckされる) -U アクセス可能な有効なURLとなっている場合に true (内部サブリクエストを用いてcheckされる)

  • mod_rewriteの基本を再確認 - noopな日々

    mod_rewriteで設定を行ったのですが、意外にはまったので再確認してみます。基的な書き換えなんですけどね。 やりたかったことは、フレームワーク等でおなじみの処理を少し拡張して、探索対象をドキュメントルート外のユーザーディレクトリも含めるというものです。 public以下はデフォルトのファイルを用意しておき、userは独自にアップしたファイルで動作を変更できるといったモデルです。ただし、userにはphpcgiの実行はさせたくないので、.phpを置くディレクトリには触らせないというのが原則になります。 簡単そうだったのですが、いくつか躓きました。 ディレクトリ構造はこんな感じ root ├───public │ │ index.php │ │ │ └───styles │ base.css │ some.css │ └───users └───foo └───public └───

    mod_rewriteの基本を再確認 - noopな日々
  • mod_rewriteの考え方。 - こせきの技術日記

    http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html を見ながら。 URLが正規表現(A)にマッチし、かつ 文字列(B)が条件(C)を満たす場合に、 URLを(D)に書き換える。 というのが基。 RewriteRule URLが(A)の正規表現にマッチしたら(D)で書き換える。 正規表現(A)は、リライトを実行するかどうかの条件(真偽値)であって、置換 url =~ s/(A)/(D)/ ということではない。たとえば、以下のような正規表現でリライトされる。 Google Code Search # 1文字マッチしたらリライト実行。空文字列でなければ実行する。 RewriteRule . index.php [L] Google Code Search # 先頭にマッチしたらリライト実行。常に実行する。 RewriteRule ^ -

    mod_rewriteの考え方。 - こせきの技術日記
    koko1000ban
    koko1000ban 2009/06/19
    すんごい分かりやすい
  • メンテナンスページで失敗しやすい3つのポイント - KAYAC engineers' blog

    PCサイトの開発/運用から、モバイルサイトの開発に移りつつある渡邊です。 ECサイトや自社サービスを運用していると、サービスを一時停止しなければならないケースがあります。 そんな時はメンテナンスページを用意して、ユーザーにサービスが一時停止していることを伝えます。 しかし、メンテナンスページには意外と気が付きにくい失敗の罠が潜んでいます。 今回はその失敗しやすい3つのポイントをフォローします。 1. mod_rewriteを使ってみよう アプリケーションごとにメンテナンスページへのリダイレクトの設定を行うと、 設定の漏れや確認不足による不具合が発生することがあります。 .htaccess に以下のような設定を行うだけで、http://test.domain.com/ 以下が、 全て http://test.domain.com/maintenance.html へリダイレクトされます。 R

    メンテナンスページで失敗しやすい3つのポイント - KAYAC engineers' blog
  • mod_rewriteでのreverse proxyとRedirect動作 — ありえるえりあ

    Recent entries Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23 Herokuの発音 inoue 2010-12-20 雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18 IPA未踏のニュース inoue 2010-12-15 労基法とチキンゲーム inoue 2010-12-06 フロントエンドエンジニア inoue 2010-12-03 ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25 技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24 雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22 RESTの当惑 inoue 2010-11-22 「プ

  • ずんWiki - mod_rewrite

    2012-03-21 bash 2012-02-23 TODO/3 2011-10-28 FrontPage 2011-06-30 plum3.x 2011-03-31 vim 2011-03-21 MyMenuBar MySQL GNU Screen Ads 基 † RewriteEngine on して、変換する条件がある場合は RewriteCond を並べて、RewriteRule で実行する変換を書く。 RewriteCond や RewriteRule には沢山オプションがあり、それにより効果も色々変わるので慣れるまでは複雑怪奇。 でも分かってしまえばこれほど何でも出来る道具は無いってくらいいろんなことが rewrite だけで出来るようになる。 ↑ クッキーを見てリダイレクトさせる。 † /auth-area/ 以下のアクセスで、login というクッキーが無い場合はログイ

  • bayashi.jp

    This domain may be for sale!

  • mod_rewrite

    mod_rewriteとは Apacheのモジュールのひとつで、アクセスURLを正規表現で書き換えることができます。リダイレクト処理を行うのに便利なモジュールです。 モジュールの解説ドキュメントによれば URLを操作するためのスイス製のアーミーナイフ と例えられるほど、非常に複雑な処理を行えます。 URLからURLへ、同一サーバ内URLだろうが、別サーバURLだろうが問いません。 引数を含む動的URLを通常のHTMLファイルのような静的URLに見せることも可能です。 素晴らしく詳細なマニュアルもありますが、機能が多いだけに情報量が多く読むのも面倒だと思いますので、ここでは、mod_rewriteを使用すると便利な場面を想定して具体的に解説してみたいと思います。 mod_rewriteの基 ひとまず、mod_rewriteはApacheのモジュールです。インストールされていなければ、サーバ

    mod_rewrite
  • mod_rewrite の小技 - Magical Diary, beta version

    ループ処理 mod_rewrite でループ処理を行うには、[N] (next) フラグを利用する。たとえば、/hoge/1/bar/2/baz/3/ を /hoge/index.cgi?foo=1&bar=2&baz=3 としたい (その際、パラメータの個数が不定) 場合、下記の通り記述する。"QSA" (query string append) フラグは、書き換え後の QUERY_STRING 部分のみ "追加" の扱いとする。 RewriteEngine on RewriteLog /var/log/httpd/rewrite.log RewriteLogLevel 9 # Rule 1: RewriteRule ^(/hoge/.*/)([^/]+)/([^/]+)/$ $1?$2=$3&path=$1 [QSA,N] # Rule 2: RewriteRule ^/hoge/([

  • mod_rewriteでURLのクエリを引き継いでリライトするRewriteRuleの書き方 - F.Ko-Jiの「一秒後は未来」

    mod_rewriteのRewriteRuleでクエリを引き継ぎたい場合は、QSAフラグが使えることを最近知りました。 たとえば次のようなURLをリクエストします。 http://example.com/status/fkoji?count=10 サーバ側で定義している RewriteRule は次のようなものです。 RewriteRule /([^/]+)/([^/]+) index.php?controller=$1&user_name=$2 [L] この場合、リライト後のURLは、 http://example.com/index.php?controller=status&user_name=fkoji となって元々存在していた count クエリが消えてしまって困ります。 こういう場合にQSAフラグを使うことができます。 RewriteRule /([^/]+)/([^/]+)

    mod_rewriteでURLのクエリを引き継いでリライトするRewriteRuleの書き方 - F.Ko-Jiの「一秒後は未来」
  • 1