【Apache】mod_rewriteについて語るスレ
: nobodyさん [] 02/06/11 19:29:wH0rV3+D Apacheのモジュール『mod_rewrite』に関連するスレです。 基本的な内容は↓ページを読むこと。 ttp://japache.infoscience.co.jp/rewriteguide/ ttp://japache.infoscience.co.jp/japanese_1_3_6/manual/mod/mod_rewrite.html それではマターリ逝きましょう。 : nobodyさん [] 2012/08/07(火) 13:24:36.49:YRcNWMi3 さくらのレンタルサーバーを使っているのですが RewriteRule (.+)/([0-9]+)$ $1.php?id=$2 [L] や RewriteRule a/([0-9]+)$ a.php?id=$1 [L] などの用に書き換え先と書き換え後に同じ文字があると404エラーになってしまいます。 RewriteRule a/([0-9]+)$ b.php?id=$1 [L] なら動くのですが・・・。 どうすれば同じ文字を使い書き換えすることができるんでしょうか・・・? : nobodyさん [sage] 2012/09/09(日) 08:58:55.72ID:??? 御存知の方教えてください。 mod_rewriteで呼び出すnph-cgiのボディに余計なヘッダ文字列が出力されます。 ヘッダには意図した文字列が出力されます。 まさにこのスレのと同じ症状なんですが回避策ありませんでしょうか? : nobodyさん [sage] 2012/10/26(金) 23:58:36.62ID:??? そろそろmod_rewriteも終わるか? Apacheのmod_rewriteをmod_mrubyによって無くす事ができるか ttp://blog.matsumoto-r.jp/?p=2969 : nobodyさん [] 2012/10/29(月) 20:46:56.05:jAMWqNZ2 質問させてください 現在Apacheのバーチャルホスト機能を利用しています ■VirtualHostの設定はこのようになっています(DocumentRootは同じ) <VirtualHost *:80> ServerName www.example.com DocumentRoot /home/hoge/public_html </VirtualHost> <VirtualHost *:80> ServerName www.example2.com DocumentRoot /home/hoge/public_html </VirtualHost> ■やりたいこと 1) ttp://www.example.com/hoge/ でアクセスがあった場合 /home/hoge/public_html/index.php?id=hogeを表示したい。 RewriteRule ^([a-z0-9_-]+)/$ /home/hoge/public_html/index.php?id=$1 [L] 2) ttp://www.example2.com でアクセスがあった場合 /home/hoge/public_html/index.php?id=hogeを表示したい。 RewriteRule ^$ /home/hoge/public_html/index.php?id=hoge [L] つまり、異なるドメインで同じページを表示したいのです。 このRewriteRuleを両方書いても最初に書いたルールしか適用されません。 オプションが問題なのでしょうか?よろしくお願いします。 : nobodyさん [sage] 2012/10/29(月) 20:52:57.41ID:??? 全部貼って : nobodyさん [] 2012/10/29(月) 22:36:47.55:jAMWqNZ2 はい。レスありがとうございます。 設定は全部でこのようになっています。 RewriteEngine on # 1) www.example.com用 RewriteRule ^([a-z0-9_-]+)/$ /home/hoge/public_html/index.php?id=$1 [L] RewriteRule ^([a-z0-9_-]+)/([a-z]+)/$ /home/hoge/public_html/$2.php?id=$1 [L] # 2) www.example2.com用 RewriteRule ^$ /home/hoge/public_html/index.php?id=hoge [L] RewriteRule ^([a-z]+)/$ /home/hoge/public_html/$1.php?id=hoge [L] 1)は、 ttp://www.example.com/hoge/ でアクセスが会った場合、id=hogeになるようにしています。これを 2)で、 ttp://www.example2.com でアクセスがあった場合、id=hogeになるような設定にしたいと思っています。 id=hogeは当然設定に記入する必要がありますよね。そしてアクセスがあった場合両方のドメインで同じようになるようにしたいのです。 よろしくお願いします。 : nobodyさん [sage] 2012/10/29(月) 22:43:52.73ID:??? 丁寧な質問者に対してこんなこと言うのはほんと心苦しいんだけど、頼むから全部貼って : nobodyさん [sage] 2012/11/19(月) 21:08:48.34ID:??? 彼はなぜ全部じゃないと思ったのだろう? : nobodyさん [sage] 2012/11/19(月) 21:29:17.19ID:??? 640はなぜ全部だと思ったのだろう? : nobodyさん [sage] 2013/03/21(木) 19:12:40.16ID:??? ttp://localhost/~example/test.php に<a href="/">top</a>を書いて このリンクを踏むと ttp://localhost/ に飛んでしまいます href="/"というリンクが使いたいので、ドキュメントルートを ttp://localhost/~example/ にする方法を教えてください : nobodyさん [] 2013/03/26(火) 06:58:48.63:4K2kYRPh baseでggrks mod_rewrite関係ねえから : nobodyさん [] 2013/05/02(木) 20:24:29.83:bOBKpt7I ちょっと質問させてください apache2.2から2.4への移行作業をしていて気づいたのですが 2.2のときはトップページへのアクセスを RewriteRule ^$ /foo.php としてリライトしてたのですが 2.4ではこの条件に該当しなくなってしまいました。 いろいろ試行錯誤したところ RewriteRule ^(index\.html)?$ /foo.php と書くとOKということが分かりました。 RewriteRule ^index\.html$ /foo.php はNGでした。 回避策は分かったのですがなんだか気持ち悪いので質問してみました。 これは仕様が変わったのでしょうか? : nobodyさん [] 2013/05/08(水) 17:17:31.74:lLEBkj6z おしえてください。 URLそのままで、外部のサイトを表示させたいです。 ttp://www.hogehoge.com/pages/test01/ を、 URL欄をそのままに ttp://aaaa.hogehoge.com/pages/test01/ を表示させたいです wwwの .htaccess に RewriteRule ^pages/(.*)/$ ttp://aaaa.hogehoge.com/pages/$1/ [R,L] って書くと、URLまで変わっちゃいます。 お願いします : 645 [sage] 2013/05/08(水) 18:14:47.04ID:??? mod_proxyが、無いとダメっぽいですね。 サーバーには、入ってませんでした (つд⊂)エーン : nobodyさん [sage] 2013/05/08(水) 19:12:39.58ID:??? Rが付くとデフォルトでは301を使ってリダイレクトする。 : nobodyさん [sage] 2013/05/08(水) 20:06:48.66ID:??? フィッシングサイト乙 : 645 [sage] 2013/05/11(土) 17:44:12.77ID:??? メインのwww.〜のサーバーが仕様が古くて、使いたいプログラムが動かないだわ。 パクリサイトの手口もそうやるんだろうけどさ。 : 645 [sage] 2013/05/11(土) 17:45:21.64ID:??? 自己解決しました。もういいです。 : nobodyさん [sage] 2013/11/29(金) 03:52:26.84ID:??? さくらサーバーリダイレクト301で 初期ドメイン から 独自ドメインに転送したいのでうまくいきません RewriteEngine on RewriteCond %{HTTP_HOST} ****?.sakura?.ne?.jp [NC] RewriteRule .* ttp://www.*******.jp% {REQUEST_URI} [L,R=301] Internal Server Errorが出てしまい さくらのエラーログを見ると /home/アカウント/www/.htaccess: Invalid command '\xef\xbb\xbfDirectoryIndex', perhaps mis-spelled or defined by a module not included in the server configuration ログにあるようにwww配下に.htaccessを置いています 訳すとスペルミスかモジュールがないと言う事ですが さくらサーバーは公式でmod_rewriteを利用できるみたいですし 記述が間違っていうのでしょうか どうかよろしくお願いいたします。 : nobodyさん [sage] 2013/11/29(金) 07:39:50.08ID:??? DirectoryIndexの手前に全角スペースとか付いてね? : nobodyさん [] 2013/11/29(金) 07:40:27.72:x026Ok3v >\xef\xbb\xbf とりあえず、UTF-8のBOMだな、これ。 付かないように保存してみたら? : nobodyさん [] 2013/11/29(金) 09:56:58.90:qgN1e/+l メモ帳でやるとそういうことが起きるだよ : nobodyさん [sage] 2014/03/27(木) 00:55:29.10ID:??? Apache の .htaccess の設定について質問させてください。 特定のファイルへアクセスがあった場合には、そのファイルだけリダイレクトをかけたいです。 具体的には、 contact.html にアクセスが来た場合には、 contact.php ファイルに飛ばしたいと考えています。 どういうコードを書けば全ファイルでは無く、特定のファイルに対して.modrewriteを使えますか? : nobodyさん [sage] 2014/03/27(木) 04:10:08.99ID:??? 普通に RewriteRule (.*)/contact.html$ $1/contact.php [R=301,L] とかそんなんでいいんじゃないの : nobodyさん [sage] 2014/03/27(木) 21:29:07.68ID:??? ありがとうございます! このスレが過疎過ぎて誰も見てくれていないんじゃないかと思ってましたw : nobodyさん [sage] 2014/03/28(金) 20:25:13.28ID:??? 質問スレでもない特定のモノ向けのスレだからな、過疎るのはしょうがない 何か特別話題があるわけでもないし とはいえ見てる人は見てるだろう、俺も専ブラのブックマークしてチェックはしてるし 一見過疎ってても案外すぐレスが付くところは珍しくは無い : nobodyさん [sage] 2014/03/29(土) 07:47:28.10ID:??? リライトそのものはオワコン化しつつあるし、 程度ならRedirectMatchで十分だろと思いつつ にやにやしながら読んでるしw : nobodyさん [sage] 2014/03/29(土) 13:05:40.16ID:??? そんな方法もあったのね。 オワコンってまじでっか? : sage [] 2014/04/06(日) 15:02:01.73:TmvJ2Q7/ 質問させて下さい。 ttp://sample.co.jp/xxx/ にアクセスしたときに ttp://sample.co.jp/xxx.php を表示したくて、.htaccessに RewriteEngine on RewriteOptions MaxRedirects=1 RewriteBase / RewriteCond %{REQUEST_FILENAME}\.php -f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([0-9a-zA-Z_\-]+)/$ $1\.php [L,R] と書いたのですが、正常に動作してくれません。 どこが間違っているか教えて下さい。 : nobodyさん [] 2014/10/21(火) 18:02:28.17:no1UJMbX マッチしてるか調べたい文字列が base64でエンコードされているのですが これをデコードしてからマッチさせるところまで 全部正規表現で記述出来ますか? : nobodyさん [sage] 2014/10/22(水) 05:34:30.98ID:??? 933 名前:デフォルトの名無しさん[sage] 投稿日:2014/10/21(火) 13:15:50.92 ID:QuOrKhyR マッチしてるか調べたい文字列が base64でエンコードされているのですが これをデコードしてからマッチさせるところまで 全部正規表現で記述出来ますか? : nobodyさん [sage] 2014/10/27(月) 21:40:59.94ID:??? .htaccessに書いた内容が思ったように動かないとき、 動作を確認する方法はあるのでしょうか? : nobodyさん [] 2014/10/28(火) 02:51:50.21:BSkYbeSW ログ吐かせろよハゲ : 664 [sage] 2014/10/28(火) 21:04:34.73ID:??? ハゲはお前だろ。 ていうか、ありがとうございます。 ログってApacheのログですか? : nobodyさん [sage] 2014/10/28(火) 22:26:29.49ID:??? まあ、落ち着いてマニュアル当たれれ : nobodyさん [] 2014/10/29(水) 00:14:35.16:TJ2Xvz38 665だけど1万本くらいてめえにくれてやりたいくらい多すぎて鬱陶しいレベルでふさふさだぞ りらいとろぐでggrks : 664 [sage] 2014/10/29(水) 05:50:09.96ID:??? 1万本もないくせによく言うわツルッパゲのカス野郎。 っていうか、ありがとうございます。 リライトログでぐぐってみます。 : nobodyさん [sage] 2014/10/29(水) 09:49:22.19ID:??? rewritelog って RewriteCond でスキップされるケースでも 全部ログに残ってしまうみたいだけど スキップしたときのログを残さないのは無理? Level 1 だとスキップしたものも記録される Level 0 だと全部消える : nobodyさん [] 2014/11/07(金) 15:24:41.12:aXYLSPgq 誘導されて来ました。 リクエストヘッダで 'Cookie' => 'PHPSESSID=fadkcau6mnmq1ul6jo5pvngqlahd2hoge', と送られてくるべきものが、ブラウザのバグで 'Cookie' => ', PHPSESSID=fadkcau6mnmq1ul6jo5pvngqlahd2hoge', と送られてきてるんだけど、これ apache 側でphpに食わすまえに置換できないかな。 mod_headers の RequestHeader は置換できないみたいだし、いい方法ある? : nobodyさん [sage] 2014/11/08(土) 07:45:15.49ID:??? そのまま放置してバグったブラウザをいつまでも使ってんじゃねーよとするw : nobodyさん [sage] 2014/11/08(土) 17:29:44.58ID:??? 判らないならレスしないでください うざいだけです : nobodyさん [sage] 2014/11/10(月) 12:43:51.39ID:??? PHP側でやるべきことだな : nobodyさん [] 2014/11/10(月) 14:14:41.86:yg9Z7Cjj ぺちぱーの時点で知的障害者だからな : nobodyさん [sage] 2017/08/20(日) 11:33:24.34ID:??? こんにちは。スレ誘導されて来ました。 www統一についてはGoogleで沢山引っかかるのですが、 下記の問題については全然出てこないので、質問させて頂きます。 ----- www・index無しを.htaccessでリダイレクトして統一したいと思い、 以下を.htaccessに書き加えました。正常に動作しましたが、以下のように なってしまい困っています。ファイルの拡張子が書き加えられてしまいます。 http://○○○.jp/××× ↓(にwwwを書き加えて飛ぶと) http://○○○.jp/×××.html できれば上記のように拡張子を書いていない場合はwwwを付け加えても ファイルの拡張子なしでの表示をしたいのですが、それは可能でしょうか? 使っているサーバーはさくらのスタンダードプラン・ファイルの属性は604です。 是非、知恵をお借りしたいです。よろしくお願い致します。 ----- RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.○○○\.jp$ RewriteRule ^(.*)$ http://○○○.jp/$1 [R=301,L] RewriteCond %{THE_REQUEST} ^.*/index\.html RewriteRule ^(.*)index.html$ http://○○○.jp/$1 [R=301,L] : nobodyさん [age] 2017/08/20(日) 11:34:22.53ID:??? です。すいませんがageさせて頂きます。 : nobodyさん [] 2017/08/21(月) 15:33:16.36:qvdJZ/iA Order allow,deny Allow from all Deny from 5.9 Deny from 8.35.201 SetEnvIfNoCase Referer a.com spammer=yes SetEnvIfNoCase Referer b.com spammer=yes SetEnvIfNoCase Referer c.com spammer=yes Deny from env=spammer SetEnvIfNoCase User-Agent "aaa" BlockRobots SetEnvIfNoCase User-Agent "bbb" BlockRobots Deny from env=BlockRobots ↑これと同等のことをapache2.4でまとめて書くにはどうしたらいいですか? : nobodyさん [sage] 2017/08/22(火) 18:53:00.57ID:??? 通州事件 : nobodyさん [sage] 2017/08/23(水) 21:20:25.86ID:??? です。 他の方に聞いて解決したので、やり方書いておきます。失礼しました。 拡張子が表示されるのはさくらの仕様だそうで、下記の例で 拡張子が.htmlと.txtの場合は拡張子をつけない形でリダイレクトする事ができるそうです。 RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.○○○\.jp$ RewriteRule ^(.*)(\.html|\.txt)$ http://○○○.jp/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^www\.○○○\.jp$ RewriteRule ^(.*)$ http://○○○.jp/$1 [R=301,L] : nobodyさん [] 2017/12/30(土) 12:34:43.32:YhlYw6jg 誰でも簡単にネットで稼げる方法など 参考までに、 ⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。 グーグル検索⇒『半藤のブブイウイウレレ』 GX18ZIQQPT : nobodyさん [sage] 2018/02/20(火) 04:33:02.55ID:??? ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の 両院で、改憲議員が3分の2を超えております。 『憲法改正国民投票法』、でググってみてください。国会の発議は すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
凡例:
レス番
100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている
名前
名無しさん (青) → sage のレス
名無しさん (緑) → age のレス
ID
ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID
このページは2ch勢いランキング が作成したキャッシュです。元のページはこちら 。削除についてはこちら 。