【Apache】mod_rewriteについて語るスレ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/06/11 19:29ID:wH0rV3+D基本的な内容は↓ページを読むこと。
http://japache.infoscience.co.jp/rewriteguide/
http://japache.infoscience.co.jp/japanese_1_3_6/manual/mod/mod_rewrite.html
それではマターリ逝きましょう。
0070nobodyさん
04/08/19 12:13ID:6Qfzg0Ayworkers.propertiesは以下の様に設定しています。
[uri:*.do]
ここでmod_rewriteを使用して*.doへのアクセスをすべてHTTPSにrewriteしようと
しているのですが、rewriteできません。
以下の通り全リクエストをrewriteする設定にすると*.do以外はrewriteされます。(img等)
rewrite前にmod_jk2により転送されてしまっているのではと思っているのですが、
このあたりの情報をご存知でしたら教えてください。
0071nobodyさん
04/08/25 19:08ID:???> このあたりの情報をご存知でしたら教えてください。
その通り。Tomcat 側で SSL の設定すれば?
0072nobodyさん
04/09/02 03:12ID:???このindex.htmlには画像が貼ってあって、<img src=http://hoge.com/img/fuga.jpg>などと
絶対パスで書いてあり、たくさんあります。
このたびドメインが変わり、http://hoge.jp/index.htmlで公開するのですが
imgが絶対パスで書いてあるので画像が表示できません。
事情によりソースは編集できないのでrewriteでなんとかしようと思ったのですが、
まったく検討つきません。
どのようなrewriteruleにすればいいのでしょうか?
0073nobodyさん
04/09/02 12:56ID:???.htaccess質問コーナー Part2
http://pc5.2ch.net/test/read.cgi/hp/1084861566/
0074nobodyさん
04/09/02 21:35ID:???やるとしても新hoge.jpではなく旧hoge.comの方で設定する必要があり。
それができないのならば無理。
ソースを書き換えるスクリプトを作る方がてっとりばやい。
0076nobodyさん
05/01/09 21:13:14ID:???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
」と表示されてしまいます。
これを表示させないようにするにはどうすれば良いでしょうか?
0077nobodyさん
05/01/10 03:31:07ID:???007876
05/01/11 21:25:19ID:???コードと結果(ブラウザで確認できるソース部分のみ)は下記のとおりです。
情報おねがいします
↓コード
--
#!/usr/local/bin/perl -w
use strict;
print('HTTP/1.0 200 OK'."\n");
print('Content-Type: text/plain; charset=Shift_JIS'."\n");
print("\n");
print("Test");
exit(0);
--
↓結果
--
TestHTTP/1.1 200 OK
Date: Tue, 11 Jan 2005 12:22:19 GMT
Server: Apache
Content-Length: 0
Connection: close
Content-Type: text/plain
--
007976
05/01/11 21:28:26ID:???print('Content-Type: text/plain; charset=Shift_JIS'."\n");
↓に変更して実行しても駄目でした
print('Content-Type: text/html; charset=Shift_JIS'."\n");
--
TestHTTP/1.1 200 OK
Date: Tue, 11 Jan 2005 12:26:37 GMT
Server: Apache
Content-Length: 0
Connection: close
Content-Type: text/plain
--
なんでContent-Type: text/plainなんだろう
0080nobodyさん
05/01/12 00:28:58ID:???008376
05/01/13 16:05:37ID:???nphにヒットする部分は一通り読んだつもりだけど、この問題に関係しそうなところが見つかりませんでした。
大体は30*redirect関係で・・・
諦めきれないので、誰か情報お願いします
RewriteRule ^test$ nph-test.cgi [T=application/x-httpd-cgi,L]
こんな設定にしてるけど間違ってるから動かないんだよなorz
0084nobodyさん
05/01/13 22:38:42ID:???0085nobodyさん
05/01/13 22:51:11ID:???008783
05/01/14 23:54:32ID:???鯖がFreeBSD+Apache2なのがいけないのかなぁ。。。
でも、レン鯖だからどうにもできないorz
>>80さんのはどこを見れば・・・
0090age
05/01/15 23:09:13ID:???0091nobodyさん
05/01/20 14:14:28ID:???public_html以下のすべての.cgiを.htmlでアクセスさせたいのですが
どのように記述したらいいのでしょうか?
あと、.cgiにアクセスしても表示できないようにしたいのです。
よろしくおねがいします。
0092nobodyさん
05/01/20 14:17:52ID:???m(_ _)m
よろしくおねがいします。
0093nobodyさん
05/01/20 14:52:55ID:???.htaccess質問コーナー Part3
http://pc5.2ch.net/test/read.cgi/hp/1105439192/
0094nobodyさん
05/01/22 11:50:33ID:???0095nobodyさん
05/02/06 15:47:21ID:Vt8tOhSv↓
http://www.example.com/main.php?hogehoge/hage=hage/fuga123fuga/
とするにはどう書けばいいんでしょうか?
0096nobodyさん
05/02/06 15:54:47ID:???.htaccess質問コーナー Part3
http://pc5.2ch.net/test/read.cgi/hp/1105439192/
009795
05/02/19 16:09:31ID:TAHykHoCすいません。そっちできいてもレスがなかったです。
どなたか教えていただけないでしょうか?
0099nobodyさん
05/02/19 21:04:55ID:???そのままのURLで書け
0100nobodyさん
05/02/26 09:13:31ID:LIYJX+3jRewriteEngine 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を無視する、というのはどう書けばいいのでしょうか?
よろしくお願いします。
0101nobodyさん
05/02/26 11:47:37ID:???正規表現のお勉強はどこまで進んだの?
0102100
05/02/26 14:55:39ID:LIYJX+3j#mod_rewrite
RewriteEngine on
RewriteRule ([^/]*)/?$ /index.php?cat=$1
RewriteCond %{REQUEST_URI} !/phpMyAdmin/(.*)$
RewriteCond %{REQUEST_URI} !/webmin/(.*)$
RewriteCond %{REQUEST_URI} !/\.php/$
RewriteCond %{REQUEST_URI} !/\.inc/$
RewriteRule ([^/]*)/?$ /index.php?cat=$1 [L]
とやってもうまくいかなかったもので、
(.phpで終わるURIにアクセスすると、
intermnal server error)になってしまうものでして
0103nobodyさん
05/02/26 16:56:14ID:???0104100
05/02/26 19:11:26ID:LIYJX+3j下のようにやっても、http://example.com/phpinfo.php が表示できないです・・・・
#mod_rewrite
RewriteEngine on
RewriteRule ([^/]*)/?$ /index.php?cat=$1
RewriteCond %{REQUEST_URI} !/phpMyAdmin/(.*)$
RewriteCond %{REQUEST_URI} !/webmin/(.*)$
RewriteCond %{REQUEST_URI} !\.php
RewriteCond %{REQUEST_URI} !\.inc
RewriteRule ([^/]*)/?$ /index.php?cat=$1 [L]
0105103
05/02/26 19:25:22ID:???0106100
05/02/27 03:30:20ID:XqwD1BfzRewriteRule ([^/]*)/?$ /index.php?cat=$1 [L]
をやりたいので、AND条件だと思うのですが、、、勘違いしてます?
0107103
05/02/27 13:38:08ID:???ものが存在すれば確かに AND条件じゃな〜い?
0108100
05/02/27 18:48:34ID:XqwD1Bfz#mod_rewrite
RewriteEngine on
RewriteRule ^example.com$ example.com/ [R]
RewriteRule ^example.com/(.*)$ example.com/index.php/$1
とやると、
http://example.com/hoge
が404 not foundになってしまいます。
自分の意図としては、
http://example.com/index.php/hoge
と解釈され、
index.phpのなかで$_SERVER['PATH_INFO'](この例だと「/hoge」)を
操作したいのですが・・・
0109nobodyさん
05/02/28 01:06:50ID:???0110nobodyさん
05/03/04 03:42:48ID:3xlEv0k9RewriteEngine on
RewriteCond $0 !^/index\.php
RewriteRule ^.*$ /index.php$0
RewriteCond %{REQUEST_URI} !^/phpMyAdmin(.*)$
RewriteCond %{REQUEST_URI} !\.txt$
RewriteCond %{REQUEST_URI} !\.wml$
RewriteCond %{REQUEST_URI} !\.hdml$
RewriteCond %{REQUEST_URI} !\.html$
RewriteCond %{REQUEST_URI} !\.xhtml$
RewriteCond %{REQUEST_URI} !\.php$
RewriteCond %{REQUEST_URI} !\.inc$
RewriteCond %{REQUEST_URI} !\.html$
RewriteCond %{REQUEST_URI} !\.txt$
#RewriteCond %{REQUEST_URI} !\.gif$
#RewriteCond %{REQUEST_URI} !\.jpg$
#RewriteCond %{REQUEST_URI} !\.jepg$
#RewriteCond %{REQUEST_URI} !\.bmp$
#RewriteCond %{REQUEST_URI} !\.png$
RewriteRule ^example.com$ example.com/ [R]
RewriteRule ^example.com/(.*)$ example.com/index.php/$1
ってやったら、/phpinfo.php(なかみはphpinfo関数のみ)が
RewriteRule ^example.com/(.*)$ example.com/index.php/$1にひかかかってしまいます。
どこが問題なのでしょうか?
あと、gifに対しては、上記の記述でただしいのでしょうか?
0111110
05/03/04 04:52:45ID:3xlEv0k9下記で、http://example.com/admin/にアクセスすると、
RewriteCond %{REQUEST_URI} "!/admin" にひっかかって、URL書き換えはおきないはずなのですが、
なぜか起きてしまってます。どなたか教えていただければ幸いです。
#mod_rewrite
RewriteEngine on
RewriteCond %{REQUEST_URI} "!/phpMyAdmin"
RewriteCond %{REQUEST_URI} "!/webmin"
RewriteCond %{REQUEST_URI} "!/admin"
RewriteCond %{REQUEST_URI} "!/client"
RewriteCond %{REQUEST_URI} !\.js$
RewriteCond %{REQUEST_URI} !\.css$
RewriteCond %{REQUEST_URI} !\.txt$
RewriteCond %{REQUEST_URI} !\.wml$
RewriteCond %{REQUEST_URI} !\.hdml$
RewriteCond %{REQUEST_URI} !\.html$
RewriteCond %{REQUEST_URI} !\.xhtml$
RewriteCond %{REQUEST_URI} !\.php$
RewriteCond %{REQUEST_URI} !\.inc$
RewriteCond %{REQUEST_URI} !\.html$
RewriteCond %{REQUEST_URI} !\.txt$
RewriteCond %{REQUEST_URI} !\.gif$
RewriteCond %{REQUEST_URI} !\.jpg$
RewriteCond %{REQUEST_URI} !\.jepg$
RewriteCond %{REQUEST_URI} !\.bmp$
RewriteCond %{REQUEST_URI} !\.png$
RewriteCond $0 !^/index\.php
RewriteRule ^.*$ /index.php$0
RewriteRule ^example.com$ example.com/ [R]
RewriteRule ^example.com/(.*)$ example.com/index.php/$1
0112nobodyさん
05/03/11 14:08:18ID:???RewriteCond %{REMOTE_HOST} !\.jp$ [NC,OR]
RewriteCond %{REMOTE_HOST} !\.bbtec\.net$ [NC,OR]
RewriteCond DUMMY CONDITION
RewriteRule index\.html$ - [F]
こんなかんじでJPドメインとY!BB以外はindex.htmlにアクセスできないようにしているのだけど、
.comなどの禁止されているドメインでアクセスすると403のページには飛ぶけど、
ステータスは200なようなのです。
403を返したいのですが、どう書けばいいでしょうか?
14:01:24 nfo>Winsock 2.2
14:01:36 suc>sample.infoが見つかりました
14:01:36 suc>sample.info(255.255.255.0):80にconnect成功しました
14:01:36 rtn>サーバへリクエスト送信
14:01:36 cmd>GET /index.html HTTP/1.0
14:01:36 cmd>Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
14:01:36 cmd>Accept-Charset: iso-8859-1,*,utf-8
14:01:36 cmd>Accept-Encoding: gzip
14:01:36 cmd>Accept-Language: en, ja
14:01:36 cmd>Connection: close
14:01:36 cmd>Host: sample.info
14:01:36 cmd>User-Agent: Mozilla/4.05 [en] (Win95; I)
14:01:36 rtn>サーバからのレスポンス
14:01:36 res>HTTP/1.1 200 OK
14:01:36 res>Date: Fri, 11 Mar 2005 05:01:40 GMT
14:01:36 res>Server: Apache/1.3.33 (Unix)
14:01:36 res>Content-Type: text/html;charset=Shift_JIS
14:01:36 res>Content-Length: 2260
14:01:36 res>Connection: close
14:01:36 nfo>sample.infoから切断します
0113nobodyさん
05/03/11 15:40:36ID:???なら動くんですけど
RewriteRule ~([^/])+/([^/])/([^/]) ?p=$1&q=$2&m=$3
となるとサーバーが見つかりませんになります。
試行錯誤した結果、$nのnが3以上のものでこうなることがわかったのですが、
このようになる制限はあるのですか?ローカルではエラーがでないのに
XREAに置いたとたんエラーがでるようになりました。
0114nobodyさん
05/03/12 17:48:37ID:dOpkRpqtapacheの./configureで--enable-module=allにしていてhttpd2.0にmod_rewriteをDSOで組み込みたい↓
httpd -lでmod_so.cが入ってることを確認。
mod_rewrite.cがあるディレクトリに移動
#/usr/local/apache2/bin/apxs -c mod_rewrite.c
#/usr/local/apache2/bin/apxs -i -a -n rewrite mod_rewrite.la
2行目のコマンドで.soファイルがないと言われるので、同ディレクトリで
#gcc -shared -o mod_rewrite.so mod_rewrite.o -Wc,-Wall -L/usr/local/lib -Llib
で無理やり.soファイル作成。あとはできた.soファイルをapacheのmoduleにcpしてconfファイルに
LoadModuleの行を追加。apache再起動→完璧
0115age
05/03/12 17:51:23ID:dOpkRpqtこれで1日半潰しました。悩んでる人、参考にしてちょ。
httpdの2.0だとAdd_Moduleの行はいらないのかしら?
いらなくて動いたんだけど、、、。
0116nobodyさん
2005/03/21(月) 09:28:11ID:???XREAのサポ板になんか書かれてた記憶がある
>>115
2からはAdd_Moduleがなくても問題ないよ
0117nobodyさん
2005/03/22(火) 19:14:14ID:P/+BRSxPnn
0118nobodyさん
2005/03/22(火) 19:22:05ID:P/+BRSxPなんかわからんなー。
httpd.conf内に、
RewriteEngine On
RewriteRule ^/cgi/([0-9A-Za-z]+)/([0-9A-Za-z]+)/$ /cgi/$1.cgi?com=$2 [L]
上記のように記述してみたが、思うような動作せず(リダイレクトはするが、$2の引数がうまくいかず)。
で、記述内容を変えてみたんだが、どうも反映されていない・・・。
さらに、コメントアウトしてみたが、おもいっきりリダイレクトしてるし???
ザット、ググッてみるものの情報みつからず、
誰か助けて。
0119nobodyさん
2005/03/23(水) 04:33:05ID:???自己レス
まず、あまり深く追いかけていないんだが、
MultiViews が、なんやら影響をおよぼしている様子・・・。
後、つくづく自分が情けなくなるが、
下記の中の正規表現で、[0-9A-Za-z]としているにもかかわらず、
ファイル名に、'_'使っているし・・・。
> RewriteEngine On
> RewriteRule ^/cgi/([0-9A-Za-z]+)/([0-9A-Za-z]+)/$ /cgi/$1.cgi?com=$2 [L]
以上2点修正して、意図する動作となりました。
とりあえず、解決。
0120nobodyさん
2005/03/25(金) 17:06:25ID:???使えません!
鬱...
0123nobodyさん
2005/03/26(土) 13:01:03ID:2ysQFKh3http://hoge.com/hoge/xxxxx
→http://hoge.com/hoge/test.cgi?xxxxx
までは、
RewriteEngine on
RewriteRule (.+)$ test.cgi?$1 [L]
で実現できましたが、
http://hoge.com/hoge/xxxxx?zzzzz
→http://hoge.com/hoge/test.cgi?xxxxx?zzzzz
や%2Fなどができません。
(test.cgiは、$ENV{'QUERY_STRING'}で取ってるから対応しています。)
どうかお力を貸してください...
0124nobodyさん
2005/03/27(日) 12:31:30ID:???.htaccess質問コーナー Part3
http://pc5.2ch.net/test/read.cgi/hp/1105439192/
0125nobodyさん
2005/03/31(木) 15:39:06ID:???0126nobodyさん
2005/04/10(日) 14:34:04ID:???XOOPSでつくるサイトを
静的に見せる方法が分からない。
プログラム全くの素人だけど
でも、XOOPSで検索エンジンに引っかかるサイトが
作りたいわけなんだけど...
グーグルで調べてみたけど、
mod_rewrite使う方法だということが分かったが
どういうところを編集するのが分からんわけで。
0127nobodyさん
2005/04/10(日) 14:39:45ID:???http://219.57.24.78/
http://219.57.24.78/~ss.jpg
http://OMOIKANE/
http://OMOIKANE/~ss.jpg
0128nobodyさん
2005/05/09(月) 23:38:57ID:rb2ewZOk同一ホスト内だと問題ないんですが、書き換え先を外のドメインにするとうまくいきません。
http://AAA.com/hoge.html をクリックしたときに表示される内容は別ドメインにおいてある
http://BBB.com/hoge.html
にしたいのですが、Apacheが locationヘッダを吐くのでリダイレクトとなってしまいブラウザに
http://BBB.com/hoge.html
が表示されてしまいます。
下記の記述でなにがまずいのでしょうか? よろしくお願いします
RewriteEngine on
RewriteRule /(.*)$ http://BBB.com/$1 [L]
0129nobodyさん
2005/05/10(火) 00:13:28ID:0h89RmHcうぇwwwwwwwwwうはっwwwっおkwwwうぇwww
うはっwwwっうぇうぇwwwうぇwwwwww
wwwwwwwwwwwwwwwwwwwwwwwww
0130nobodyさん
2005/05/10(火) 07:33:24ID:???http上ドメイン名が変われば(別のhttpサーバに変えるには)リダイレクトしないと無理でしょう
コレは無理 ブラウザ->Apache(1)->Apache(2)->ブラウザ
0131nobodyさん
2005/05/10(火) 18:19:16ID:GC3gP9kTありがとうございます。やはり駄目みたいですね。
mod_proxyかませるしかないか・・・
0132nobodyさん
2005/06/02(木) 00:10:54ID:7p4TKpYJRewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9A-Za-z]+)/([0-9A-Za-z)]+)\.html$ hoge.php?var1=$1&var2=$2 [L]
------------------------------------------------------------------------------
...../test1/test2.html という仮想アドレスにアクセスしてきた
ユーザに対して、hoge.php?var1=test1&var2=test2
の結果を返したいので、上記のように.htaccessに書きましたが、
..../test2/test2.htmlにアクセスするとページがありませんエラーに
なります。他鯖だとこれでOKなのですが、さくらという鯖だと無理です。
さくら特有の何か?があるのか。上のような簡単なものでも
アパッチのバージョンが違うと、動作しない。なんてことがあるのでしょうか?
エロイ人、どうか教えて下さい。
0133nobodyさん
2005/06/02(木) 06:47:17ID:???0134132
2005/06/02(木) 20:34:15ID:7p4TKpYJですが、どうもうまくうごきません。
>>133
ありがとうございます。
そのようにやってみましたが、ダメみたいです。
さくらというレンタル鯖は
同じサイトでも2つのアドレスがあります。
一つは独自ドメイン。
もう一つは http://○○.sakura.ne.jp/というアドレスです。
こういうことも関係してエラーになるんだろうか・・・
0135nobodyさん
2005/07/05(火) 01:22:50ID:netfphaSsearch.cgi?dir=hoge&file=foo
のようなパラメータ付きのURLを
/hoge/foo/
のように書き換えたいんですが、これではうまくいきません。
RewriteRule ^search\.cgi\?dir=(.*)&file=(.*)$ /$1/$2/
いろいろ試しても ? が出てきた時点でマッチしないように思います。
ご存知の方、ぜひご教示お願い致します。
0136nobodyさん
2005/07/05(火) 23:37:37ID:???0137135
2005/07/06(水) 01:13:05ID:???はい、通常のmod_rewrite利用法とは逆の書き換えを
実現したいんです。
/hoge/foo/ を search.cgi?dir=hoge&file=foo みたいな
書き換えはきちんと動作するサーバ環境です。
気長にお待ちしております。
0138nobodyさん
2005/07/15(金) 10:24:40ID:yoPQBliE↓
http://hogehoge/123
に書き換えたいのですが、?に正規表現設定をマッチさせることができません。
ご教授願います。
0140nobodyさん
2005/08/05(金) 23:22:02ID:euh07aXu表示する書き換えを行いました。
RewriteRule ^([^/]+)/$ /search.cgi?key=$1 [L]
/hoge/ でアクセスすると search.cgi?key=hoge を返します。
続いて /hoge のようにディレクトリにスラッシュがない場合に、
スラッシュを補完しようと思って、以下のように書き換えると
無限ループを起こします。
RewriteRule ^([^/]+)$ /$1/ [R=301,L]
どう記述したら良いでしょうか。ご教示お願いいたします。
0141nobodyさん
2005/08/25(木) 01:01:54ID:???Apache はデフォルトで / 無しのリクエストに対して 301 を返し / を補完させるようになっている。
不要。
0142nobodyさん
2005/08/25(木) 09:50:51ID:???http://***.com/~test/index.php?id=10
というURLを
http://***.com/~test/10.html
と言う風にするには
RewriteEngine on
RewriteRule ^/~test/([0-9A-Za-z)]+)\.html$ /~test/index.php?id=$1 [L]
と書けばいいんですよね?しかし、表示されません・・。
リダイレクトとか他のアクションの場合は動くので、サーバやmod_rewriteに
問題があるとは考えられません・・。書き方がおかしいのでしょうか?
0143nobodyさん
2005/08/25(木) 15:27:54ID:???/a/1/b/2/c/3/d/4/e/5.html
↓
/index.php?a=1&b=2&c=3&d=4&e=5
パラメータ数は、可変にしたいのですが・・・
0145nobodyさん
2005/08/28(日) 11:49:42ID:???これでどうよ。
俺のローカルでは動いたが。
RewriteEngine On
RewriteRule ^a/([0-9]+)/b/([0-9]+)/c/([0-9]+)/d/([0-9]+)/e/([0-9]+)\.html$
/index.php?a=$1&b=$2&c=$3&d=$4&e=$5 [L]
ちなみに、改行するなよ。
無保証でヨロ。
0146nobodyさん
2005/08/28(日) 12:31:26ID:???あんたいい奴だな。けど143の質問ちゃんと読んでないよ。
ある程度パラメータ数の上限を決めて、個数ごとに145みたいなRewriteRuleを
書くしかないと思う。>>143
0147nobodyさん
2005/08/28(日) 13:36:40ID:???とやってPHP側で $_SERVER['PATH_INFO'] を分解するくらいしか・・・
0148nobodyさん
2005/08/28(日) 14:25:19ID:???mod_rewrite の正規表現だけでやれと言われると確かに厳しい
mod_perl で PerlTransHandler あたりをフックしてちゃちゃっと書き換えるなら割と楽にできる
0149nobodyさん
2005/08/28(日) 16:29:14ID:???いろいろレス感謝です。
パラメータの a、b、c・・・ は固定ではなく、他の文字に変わることが
あります。例えば、page、target などです。
>>146
やはりそれしかないでしょうか。
mod_rewrite でループ処理のような形でどうにか出来れば
いいかなと思ったのですが。
とりあえず、こんな感じのを沢山書こうとしています。
RewriteRule ^(.*)/(.*)/(.*)/(.*)\.html$ index.php?$1=$2&$3=$4 [L]
RewriteRule ^(.*)/(.*)\.html$ index.php?$1=$2 [L]
0150147
2005/08/28(日) 17:47:22ID:???そういや[N]があったな、忘れてた
RewriteRule ^([a-z0-9]+)/([a-z0-9]+)\.html index.php?$1=$2 [L,NC,QSA]
RewriteRule ^([a-z0-9]+)/([a-z0-9]+)/(.+)\.html $3.html?$1=$2 [N,NC,QSA]
0151nobodyさん
2005/08/28(日) 19:23:03ID:???0152nobodyさん
2005/08/29(月) 21:53:41ID:???RewriteCond %{HTTP_HOST} ^(apple|grape|orange)\.example\.com$
とするのと
RewriteCond %{HTTP_HOST} ^apple\.example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^grape\.example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^orange\.example\.com$
とする場合で、一般論としてどちらが高速でしょうか?
0154nobodyさん
2005/09/27(火) 17:41:19ID:???としたときに、robots.txtなどのいくつかのファイルはスキップさせたいのですが
どのようにすれば良いのでしょうか?
0155nobodyさん
2005/09/30(金) 19:04:43ID:???質問があります。
URLエンコードを行って日本語等が%XYの形式になったURLを含んでいるとき、
RewriteRule ^([0-9A-Za-z%]+)$ test.php?keyword=$1
などとしても404エラーになってしまいます。(日本語がないときは通常通りです。)
ルールの記述が間違っているのでしょうか。
エラーにならない方法をご存知でしょうか。お願いします。
0156nobodyさん
2005/09/30(金) 20:40:28ID:???まずマニュアルを読んで、それから細かいところを質問する姿勢を見せる。
0157nobodyさん
2006/01/15(日) 15:53:40ID:0othuuG9RewriteRule ^(.*)\.html$ test.cgi?$1
でうまくいったのに、自分のサーバーでは漢字とひらがながリライトできない。
記述の問題じゃないかも。
0158nobodyさん
2006/01/15(日) 16:02:20ID:???0159157
2006/01/16(月) 01:32:31ID:???まあ、Apache1.3から2にしたら、何の問題もなくリライトするようになったのでよしとする
0160nobodyさん
2006/01/20(金) 03:14:31ID:???なぜか"."(ドット)を使うと404になるのですが、回避する方法はないものでしょうか?
こっちだと動かないんだけど、
http://shinehage.com/072.sex → http://shinehage.com/index.cgi?072.sex
こっちだと動く
http://shinehage.com/072-sex → http://shinehage.com/index.cgi?072-sex
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9A-Za-z]+\.[0-9A-Za-z]+)$ index.cgi?$1 [L]
↑これではダメで、
↓こっちだと動く・・・
RewriteRule ^([0-9A-Za-z]+\-[0-9A-Za-z]+)$ index.php?$1 [L]
0161nobodyさん
2006/01/20(金) 12:45:18ID:???0162nobodyさん
2006/01/31(火) 13:32:42ID:???0163nobodyさん
2006/03/08(水) 21:55:04ID:F0LiHM5TRewriteBase /hogehoge
RewriteRule ^hoge/([^/]+)/$ ho.php?user=$1 [L]
とした場合、/hoge/username/?page=2 といった感じで引数userのほかに引数pageを読み込ませるにはどうしたらいいのでしょうか?
0164nobodyさん
2006/03/09(木) 08:30:08ID:???RewriteRule ^hoge/([^/]+)/$ ho.php?user=$1&%{QUERY_STRING} [L]
0165nobodyさん
2006/03/10(金) 01:49:51ID:wS29C68G/-/detail/=/
とかいうURLがあるけどあれもmod_rewrite?
ハイフンとかなんか意味あるのかな
0166nobodyさん
2006/03/13(月) 12:10:05ID:???RewriteEngine on
RewriteRule ^/dir/hoge/([0-9]+).html$ /dir/hoge.php?id=$1
として/dir/hoge/nn.htmlのアクセスを/dir/hoge.php?id=nnに
rewriteし、/dir/hoge.phpは動作するのですがQUERY_STRINGのid=nnが
hoge.phpに渡りません。なにかRewriteRuleの書き方におかしな点が
ありますでしょうか?
0167nobodyさん
2006/03/13(月) 12:14:32ID:???■ このスレッドは過去ログ倉庫に格納されています