タグ

mod_rewriteに関するraimon49のブックマーク (11)

  • ApacheのRewriteRuleで検索条件に^/がマッチしない場合がある理由 - このブログはURLが変更になりました

    ApacheのRewriteRuleで「/hoge/配下にアクセスがあったら http://example.jp/fuga/ に301リダイレクトを行う」ってな処理を書く場合、先頭に/が必要な場合と必要ない場合がある。 RewriteEngine on # これでいける場合もある RewriteRule ^/hoge/(.*) http://example.jp/fuga/$1 [R=301,L] # こう書かないとダメな場合もある RewriteRule ^hoge/(.*) http://example.jp/fuga/$1 [R=301,L] この先頭に/が必要不要の違いはなんだろうなーと思っていたが、先日理由がわかった。 Apacheのドキュメントにしっかり書いてあった。 RewriteRule Directive What is matched? In VirtualHost c

    ApacheのRewriteRuleで検索条件に^/がマッチしない場合がある理由 - このブログはURLが変更になりました
    raimon49
    raimon49 2013/07/30
    VirtualHostディレクティブとDirectoryディレクティブ、.htaccess 両対応のコツ
  • Apache 2.4.1のmod_luaでApacheに介入する(mod_rewriteの終焉?)

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 といいつつも、そこまで大したことはしていない。 luaという高速に動作する組み込み系のスクリプト言語で遊んでみたかったのと、それだったmod_luaで遊んでみればいいなと思っただけである。で、実際にmod_luaをコンパイルして遊んでみた。コンパイルオプションは以下。 ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --enable-modules=all --enable-mods-shared=all --enable-mpms-shared='prefork worker event' -

    Apache 2.4.1のmod_luaでApacheに介入する(mod_rewriteの終焉?)
    raimon49
    raimon49 2012/04/01
    LuaHook 可読性が高い
  • Apacheが%2Fを勝手にデコードして生きるのが辛いとき - かみぽのメモ

    mod_rewriteでの最後の砦 - As a Futurist...をみて、僕もApacheでURLに%2Fを含むリクエストをリバースプロキシするときに困ったことがあったなーというのを思い出した。 AllowEncodedSlashes On RewriteRule ^/(.*)$ http://backend/$1 [QSA,L,P]みたいな設定を書いてるときにfrontendに http://frontend/keyword/Fate%2Fstay+nightなリクエストが来ると、この設定だとbackendには http://backend/keyword/Fate/stay+night%2FがデコードされたURLにプロキシしてしまう! %2Fのままプロキシするには以下のように設定をすればよい。 AllowEncodedSlashes On RewriteCond %{THE_RE

    Apacheが%2Fを勝手にデコードして生きるのが辛いとき - かみぽのメモ
    raimon49
    raimon49 2012/01/20
    >RewriteCondで生のリクエスト文字列にマッチングを掛けて、RewriteCondの後方参照(%N)を使えば%2Fのままプロキシできる
  • 特定サイトから直リンクされた画像を一発で別の画像にする方法:phpspot開発日誌

    他人のブログをパクり無断で公開! 被害者の対抗策が凄い アメブロ広報「数件の通報が来ている」 - ガジェット通信 特定サイトから直リンクされた画像を一発で別の画像にする方法。 私のブログはともかく、不要な負荷が増えて嫌だなと思う場合に即効できる処置方法をご紹介。 mod_rewriteが入っているサーバ&.htaccessが利くサーバの場合は以下のように書いて直リンクされた画像のディレクトリに設置します。 RewriteEngine on RewriteCond %{HTTP_REFERER} ^http://ameblo.jp/sfida2010/.*$ RewriteRule ^(.*)$ http://example.com/deny/unko.png [R=301] /images/ 以下に直リンクを受けている画像群がある場合は、/images/.htaccess として保存して下

  • 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 のテストを書こう - 大西日記 - はてなダイアリー
  • 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. 変数を利用したプログラム

    raimon49
    raimon49 2010/06/15
    RewriteMap 独自拡張
  • mod_fcgid + mod_userdirなURLにてCodeigniterのURL設定をうまく実現する - ymknの日記

    CodeIgniter の URL : CodeIgniter ユーザガイド 日語版の設定を、mod_userdirで設定されたユーザディレクトリ以下に設置されたCodeIgniterに対してうまく実現する方法のメモ。なお、PHPはmod_fcgidでCGI版を動作させている。モジュール版PHPを使っている場合はまた事情が違うかも。 たとえば、http://example.com/~username/myapp/hoge/fugaのようなURLをhttp://example.com/~username/myapp/index.php/hoge/fugaへのアクセスに変換したい。このような場合、次のような設定をするとよい。 .htaccessにRewriteBaseを追加する RewriteBaseなし(デフォルト)だと、/がprefixとして扱われるため、書き換え後のURLがhttp:/

    mod_fcgid + mod_userdirなURLにてCodeigniterのURL設定をうまく実現する - ymknの日記
  • 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の考え方。 - こせきの技術日記
    raimon49
    raimon49 2009/06/22
    RewriteCond
  • bayashi.jp

    This domain may be for sale!

    raimon49
    raimon49 2009/01/30
    実用的なサンプル集。
  • mod_rewrite

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

    mod_rewrite
  • ウノウラボ Unoh Labs: メンテナンス画面を簡単に出してみる

    カレーはあまり好きじゃないKeitaです。 映画サイトの映画生活のデザインリニューアルをして、いくつかデザイン以外の修正もあり、サーバ停止時間が発生するため、メンテナンス画面を作ることにしました。今日はその簡単なトピックスを書いてみたいと思います。 まず最初に、メンテナンス画面は次のような形の要件があるかなと思っています。 ドメイン以下すべてがメンテナンス画面になる クローラー対策でヘッダで503を出力する 癒される 特にクローラー対策は、クローラーがきておかしいものをキャッシュされると結構痛いかなと思うので、503が的確かはともかく、そこらへんのエラーを出すことにしました。 最初、ここら辺のすべての処理をmod_rewriteだけで実現できるかなと思ったのですが、残念ながら、mod_rewriteでは300番系のエラーを出すことができますが、503のエラーは出せないようなのでさくっ

  • 1