【Apache】mod_rewriteについて語るスレ (686レス)
【Apache】mod_rewriteについて語るスレ http://medaka.5ch.net/test/read.cgi/php/1023791370/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
1: nobodyさん [] 02/06/11 19:29 ID:wH0rV3+D Apacheのモジュール『mod_rewrite』に関連するスレです。 基本的な内容は↓ページを読むこと。 http://japache.infoscience.co.jp/rewriteguide/ http://japache.infoscience.co.jp/japanese_1_3_6/manual/mod/mod_rewrite.html それではマターリ逝きましょう。 http://medaka.5ch.net/test/read.cgi/php/1023791370/1
26: nobodyさん [] 02/11/07 11:24 ID:5CKaXlWW すみません、ちょっと教えてください。 Apache2.0.43を使っています。configure時に --enable-rewrite で組み込んでも --enable-rewrite=shard で組み込んでもうまく動いてくれません。 httpd.confには RewriteEngine On RewriteRule ^old\.html$ new.html と書いてテストしているのですが。 他に記述しなきゃいけないことってなんでしょう? modules/ の下に mod_rewrite.so がないのが原因でしょうか? http://medaka.5ch.net/test/read.cgi/php/1023791370/26
50: nobodyさん [] 03/11/07 22:11 ID:K7agUunN http://www.example.com/foo/bar/fuga/hoge/ にアクセスされた場合、実際には http://www.example.com/index.php?cat=hoge にアクセスしてるように表示させたいと思っています。 (要は、com/以下の、途中のパス名はどうでもよく、URIの最後の/と/の間の文字列を受け取って 実際には、http://www.example.com/index.php?cat=その文字列 を表示させたく思ってます。) で、 RewriteRule ([^/]*)/?$ /index.php?cat=$1 としたら、うまくいきました。 ただ、そしたらこんどは、 http://www.example.com/phpMyAdmin/ みたいなものまでこれを解釈してしまうようになってしまいました・・ (そりゃそうだ) で、たとえば「phpMyAdmin」「Analog」「xoops」の、 ディレクトリ配下の場合にアクセスされたときにだけ、 この「mod_rewriteを無効にするには、どうすればいいのでしょうか? http://medaka.5ch.net/test/read.cgi/php/1023791370/50
76: nobodyさん [sage] 05/01/09 21:13:14 ID:??? rewriteで「/hoge/」を「nph-hoge.cgi」に移動させています。 nph-hoge.cgiはPerlで書かれたnphスクリプトで、「HTTP/1.1 200 OK」などヘッダ情報も含まれています。 nph-hoge.cgiに直接アクセスする場合には「nph-hoge.cgiの内容。」と表示された問題ないのですが、/hoge/にアクセスすると、 「nph-hoge.cgiの内容。HTTP/1.1 200 OK Date: Sun, 09 Jan 2005 12:10:52 GMT Server: Apache Content-Length: 0 Connection: close Content-Type: text/plain 」と表示されてしまいます。 これを表示させないようにするにはどうすれば良いでしょうか? http://medaka.5ch.net/test/read.cgi/php/1023791370/76
83: 76 [sage] 05/01/13 16:05:37 ID:??? >>82 nphにヒットする部分は一通り読んだつもりだけど、この問題に関係しそうなところが見つかりませんでした。 大体は30*redirect関係で・・・ 諦めきれないので、誰か情報お願いします RewriteRule ^test$ nph-test.cgi [T=application/x-httpd-cgi,L] こんな設定にしてるけど間違ってるから動かないんだよなorz http://medaka.5ch.net/test/read.cgi/php/1023791370/83
100: nobodyさん [] 05/02/26 09:13:31 ID:LIYJX+3j #mod_rewrite RewriteEngine on RewriteRule ([^/]*)/?$ /index.php?cat=$1 RewriteCond %{REQUEST_URI} !/phpMyAdmin/(.*)$ RewriteCond %{REQUEST_URI} !/webmin/(.*)$ RewriteRule ([^/]*)/?$ /index.php?cat=$1 [L] としているのですが、URIに「.php」または「.inc」の文字が含まれている場合は、 上記のmod_rewriteを無視する、というのはどう書けばいいのでしょうか? よろしくお願いします。 http://medaka.5ch.net/test/read.cgi/php/1023791370/100
103: nobodyさん [sage] 05/02/26 16:56:14 ID:??? !/\.php/$ こういうのは !\.php とかに書き直せばいーじゃな〜い? http://medaka.5ch.net/test/read.cgi/php/1023791370/103
143: nobodyさん [sage] 2005/08/25(木) 15:27:54 ID:??? すみません、mod_rewrite で以下のような変換は可能でしょうか? /a/1/b/2/c/3/d/4/e/5.html ↓ /index.php?a=1&b=2&c=3&d=4&e=5 パラメータ数は、可変にしたいのですが・・・ http://medaka.5ch.net/test/read.cgi/php/1023791370/143
228: nobodyさん [sage] 2007/07/19(木) 00:53:42 ID:??? 質問です。よろしくお願いします。 RewriteRule /(.+)\.(.+)$ /$1.A.$2 既存の拡張子の前に.Aを挿入しようとしていますが、$2に前置するピリオドが 悪さしているらしく、うまく動きません。どうすればよいでしょうか。 http://medaka.5ch.net/test/read.cgi/php/1023791370/228
254: nobodyさん [sage] 2007/10/25(木) 12:12:54 ID:??? googleの様な検索URL設定を自分のサイトでも実現したいのですが・・・うまくいきません。 例)ttp://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=2ch&num=50 ○現在の.htaccessの設定 RewriteEngine on RewriteRule ^([0-9A-Za-z)]+)$ /index.php?mode=$1 RewriteRule ^([0-9A-Za-z)]+)\?(..*)$ /index.php?mode=$1&$2 ○検索画面TOPページ(キーワードや表示数を設定し、検索ボタンで検索開始) アクセス ttp://www.hogehoge.jp/search 内部 index.php?mode=search ←実現済み ○検索結果表示ページ(検索TOPで設定した検索結果を表示) アクセス ttp://www.hogehoge.jp/search?q=2ch&num=50 内部 index.php?mode=search&q=2ch&num=50 ←これがうまくいかない q=キーワード, num=検索表示数 問題は、検索結果表示ページでGET値が渡されず、"index.php?mode=search"となってTOPへ戻ってしまうこと。 mod_rewriteって"?"以降を無視してしまうのでしょうか? だったら、googleは"search?***"をどう実現してるのでしょうか? どうかご意見ください。 http://medaka.5ch.net/test/read.cgi/php/1023791370/254
312: nobodyさん [] 2008/11/21(金) 11:03:56 ID:/EsDW5qx 質問させてください 今、Windows XP apache2 でmod_rewriteをはじめて使ってるんですが、 ループを繰り返してエラーしてしまっています。 ●httpd.conf は以下のようになっていて、 LoadModule rewrite_module modules/mod_rewrite.so #mod_rewriteしたときのログを残す RewriteLog logs/rewrite.log RewriteLogLevel 9 ●localhost/.htaccess の中は php_flag magic_quotes_gpc off RewriteEngine on RewriteBase / RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php となっています。 しかし、rewrite.log の中に何も書き出されません。 どこか間違っているんでしょうか? また、念のため確認したいんですがrewrite.logのパスはどこを基準に考えたらいいんでしょうか? http://medaka.5ch.net/test/read.cgi/php/1023791370/312
314: nobodyさん [sage] 2008/11/21(金) 11:18:31 ID:??? ログ書き出す前にRewriteEngine on は要らないの? http://medaka.5ch.net/test/read.cgi/php/1023791370/314
357: nobodyさん [sage] 2009/01/26(月) 15:02:16 ID:??? Win上で開発しLinuxで動作させています。 >>265とほぼ同じことをしたいと思っています。 具体的に言うと /DocRoot→静的なページのみ ├.htaccess→RewriteBase / のみ記述 ├/subDir1→ここに動かしたいCGI │ └.htaccess→RewriteBase /subDir1 その他大量 ├/subDir2→ここにも動かしたいCGI │ └.htaccess→RewriteBase /subDir2 その他大量 : >>267を試したところ、 HTMLはただしくリダイレクトされたのですが、画像やCSSは読み込まれませんでした。 原因はURL関連が全て/から始まる絶対パスで記述されているため (Win上ではCGIごとにプロジェクトを分けてるからそれでよかった)なのですが Ajaxなどの外部ファイルも使っているため HTMLに手を加えて修正すると、既存のhtaccessとJSを修正しなければならないので 出来るだけサーバーの設定だけで実現したいと考えています。 サブディレクトリをDocRootのように振舞わせる方法をご存知でしたら ご教授よろしくお願いします。。 http://medaka.5ch.net/test/read.cgi/php/1023791370/357
400: nobodyさん [] 2009/10/08(木) 18:10:15 ID:Smfgyb+J cgiでページを表示しているんですが、「index.cgi?hoge=num」の 「index.cgi」部分を常に表示しないようにしています。 しかしフォーム投稿を繰り返すとブラウザにこの「index.cgi」が 出てしまうことがあるので、常にこの文字列を省略する方法は無いかと調べ、 mod_rewriteでそれらしいことが出来るのではと思い、お尋ねしたく…。 現在 RewriteEngine on RewriteRule ^index\.cgi(.*)$ /$1 [R=301] と書くと「処理がループしています」というエラーが出てしまいます http://medaka.5ch.net/test/read.cgi/php/1023791370/400
409: nobodyさん [sage] 2009/10/20(火) 22:25:35 ID:??? www.test.com/hoge/ を hoge.test.com/ にする書き方って どうすればいいでしょうか。てかそもそもこういうのって 出来るのかな?っていう。 http://medaka.5ch.net/test/read.cgi/php/1023791370/409
418: nobodyさん [] 2009/10/27(火) 02:04:24 ID:qLUEsO4U ttp://hogemoge.com/check.phpを ttp://hogemoge.com/check/http://foo.jp/bar/baz/でアクセスする方法をどなたか教えてください。 check.phpのみ適用されるようにしてください。 http://foo.jp/bar/baz/のところはいろいろ変わります。 http://をhttp:/と解釈されないようにしてください。 checkの部分を変えてもcheck.phpに当たるようにもしてください。 よろしくお願いします。 http://medaka.5ch.net/test/read.cgi/php/1023791370/418
482: nobodyさん [sage] 2010/02/16(火) 09:02:50 ID:??? >>481 オス。 ssl.conf に Listen 443 httpd.conf に Listen 80 ssl.confはちゃんと読み込まれてる。 別件でパケットキャプチャ使ったんだけど、ちゃんと80、443で動いてるみたい。 なんだろうなー。よく解ってない人が管理してたサーバーの引継ぎで散々苦労 したんだけど、これが片付けば一段落つくのにドン詰まり; http://medaka.5ch.net/test/read.cgi/php/1023791370/482
561: nobodyさん [sage] 2011/08/14(日) 10:58:29.02 ID:??? ●実現したいこと: ・メンテ時にステータス503を返しつつ、ブラウザに表示されるURLはそのまま ●環境: ・Apache2.2.19、SSL必須 ●問題: ・SSL接続だとURLを maintenance.html に書き換え、ステータス200を返してしまいます。× ・しかし、HTTP接続であれば、URLそのままで503を返すことができます。○ http://medaka.5ch.net/test/read.cgi/php/1023791370/561
645: nobodyさん [] 2013/05/08(水) 17:17:31.74 ID:lLEBkj6z おしえてください。 URLそのままで、外部のサイトを表示させたいです。 http://www.hogehoge.com/pages/test01/ を、 URL欄をそのままに http://aaaa.hogehoge.com/pages/test01/ を表示させたいです wwwの .htaccess に RewriteRule ^pages/(.*)/$ http://aaaa.hogehoge.com/pages/$1/ [R,L] って書くと、URLまで変わっちゃいます。 お願いします http://medaka.5ch.net/test/read.cgi/php/1023791370/645
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.403s*