【Apache】mod_rewriteについて語るスレ (686レス)
上下前次1-新
276: 2008/02/06(水)01:37 ID:??? AAS
>>271
最長一致、つまりこの場合左に現れる .+ ができるだけ長くマッチしようとする。
その結果、
$1 => aa/bb
$2 => cc
となる。
RewriteRule ^/(.+?)/(.*)$ /$1/index.php?i=$2
として最短一致にすれば期待の結果になる。
あるいは、$1 に / が含まれない仕様であれば、
RewriteRule ^/([^/]+/(.*)$ /$1/index.php?i=$2
省1
277: sage 2008/02/06(水)13:09 ID:cmfp+wYF(1) AAS
すみません、動的URLから動的URLへの書き換えで質問です。
/(dirname)/main.php?(x=XXX&y=yyy) カッコ内は動的
↓
/admin/main.php?dir=(dirname)&(x=XXX&y=YYY)
という感じに、要はディレクトリ名をdirという部分に渡したいのですが、
下記の正規表現で上手く動きません。
どなたかご教授いただけませんか?
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/main.php?(.*)$ admin/main.php?dir=$1&$2
278: 2008/02/06(水)13:10 ID:??? AAS
↑いまさらダサすぎる失敗はスルーしてください><
279: 2008/02/06(水)14:21 ID:??? AAS
自己解決。QSA便利ですね
280(2): 2008/02/07(木)20:08 ID:L14jE359(1) AAS
fedora8にyumでhttpdをインスコしましたが、mod_rewrite.soが含まれていませんでした
これだけでは足りないと思い、httpd-develもインスコしましたがやはり見つかりません
yumのlistにもmod_rewriteのパッケージが見つからないのです
httpd自体をmakeしなおさないとリンクしないような気がしてならないのですが、これはwgetでmod_rewrite単体を
modulesの下に置くだけでよいのでしょうか?
よろしくお願いします
281(1): 2008/02/08(金)01:43 ID:??? AAS
Fedora使いじゃないんで良く分からんが、
外部リンク[rpm]:download.fedora.redhat.com
には ./usr/lib/httpd/modules/mod_rewrite.so が入ってるけど。
もし mod_rewrite.so がないとして、
httpd -l して mod_so.c があれば DSO 対応でコンパイルしてあるので、
所定のディレクトリにモジュールをおけばいい。
どこから wget してくるのか知らんが。
282: 280 2008/02/09(土)02:06 ID:??? AAS
>>281
confファイルのある/etc/httpd/modules/の下を探していたのですが、ご指摘の場所にmod_rewrite.soが入っていました
まだfedoraのディレクトリ階層に不慣れなものでお恥ずかしいです
httpd -lも確認したところ、mod_so.cがリストされましたのでDSO対応のようです
どうもありがとうございました
283: 2008/02/10(日)09:37 ID:??? AAS
>>280
ソースからビルドしたほうが楽じゃね?
284: 2008/02/29(金)15:31 ID:??? AAS
IE7 で BASIC 認証されると Refer に
外部リンク:id:pw@example.com/contact/?email=test@example.com
と id:pw@ が残るので
外部リンク[com]:example.com
のように消したいと考えています。
mod_rewrite で消す方法思いつく方いらっしゃいますか。
285: 2008/02/29(金)22:12 ID:a2f9rZSr(1) AAS
age
286(1): 2008/04/20(日)18:57 ID:??? AAS
CGI起動のphpをnphにしてrewriteで呼び出すとヘッダ情報が処理データの後に出てくるんだがorz
このスレ見ると>>76で同じ症状があったみたいだが、自力では解決できなかった・・・。
RewriteRule ^.*$ /nph-page.cgi [T=application/x-httpd-cgi,L]
とか、
RewriteRule ^(.+)$ xredirect:$1
RewriteRule ^xredirect:(.*) /nph-page.cgi [T=application/x-httpd-cgi,L]
とか試したんだが駄目だった。。。
アクセスしてきたURIは環境変数で受け取る予定です
助けてください
287: age [age] 2008/04/26(土)13:59 ID:??? AAS
age
288: 2008/05/15(木)20:23 ID:??? AAS
age
289: 2008/07/08(火)18:33 ID:svqzHQk4(1/2) AAS
特定のURLにアクセスがあったときにだけログを出力して
リダイレクトさせたいのですが、こういった細かい事は
スクリプトサイドでやらせるのが正しいのでしょうか?
290(1): 2008/07/08(火)19:05 ID:??? AAS
サーバサイドじゃね
291: 2008/07/08(火)19:09 ID:svqzHQk4(2/2) AAS
>>290
ありがとう
やっぱりそうですよねorz
292: 2008/07/16(水)14:57 ID:XAZRRasQ(1) AAS
mod_rewiteを使って、
外部リンク:localhost
で、2chが表示されるみたいなことってできませんか?
RewriteRule /\*/(.*)/(.*) http://$1/$2 [P]
といれても、だめだったし。
ちょっと、サーバーサイドスクリプトなしでxhrの穴をつきたいんで。
293: 2008/07/16(水)16:39 ID:??? AAS
REQUEST_FILENAME がとれずに
本来 /var/www/test
となるものが、
/test
だけになってしまいます。
考えられる原因は何でしょうか?
294: 2008/08/11(月)15:59 ID:??? AAS
RewriteRule ^\*/(.*)$ http://$1 [P]
mod_rewriteとmod_proxyが必要
295: 2008/08/30(土)01:18 ID:KZbGqcdu(1/4) AAS
よろしくお願いします
現在拡張子が付いていないアクセスを、.phpとつけるだけなんですが
http://○○○.com/dir/index?id=hoge
↓
http://○○○.com/dir/index.php?id=hoge
下記のように書いてみたのですが、動作していないです。
RewriteEngine on
RewriteRule /dir/index?(.*)$ /dir/index.php?$1
省2
上下前次1-新書関写板覧索設栞歴
あと 391 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.009s