SSIがそれなりの負荷になるのは事実。
また、最終更新時刻を示すHTTPヘッダが返されなくなるので、
2回目以降のアクセスでIf-Modified-Since:を使った条件つき取得が
できなくなり転送効率が落ちる(ただし、これはXBitHackで回避できる)。
.htmlの拡張子で特定のファイルでだけSSIを使いたいのであれば、
<Files "hoge.html">
SetHandler server-parsed
</FIles>
とすればよい。
自分で書いておいて忘れてた(汗)。
>ただし、これはXBitHackで回避できる
.htaccessに
XBitHack on
と書いておいておけば、通常のSSIの設定をしなくても、
ユーザ実行権限のパーミッションを設定したHTMLファイルがSSIとして処理される。
<Files>で限定するよりもオススメ。
さらに、
XBitHack full
とすれば、グループ実行権限を設定したファイルでは、
SSIでもLast-Modified:が返されるようになる。
# Content-Length:はつかなかったような。
>>444さん
丁寧なお返事ありがとうございました。
特定のファイルのみってこともできるんですね。
勉強になりました。
>>445は…よく意味がわからなかったのでまた自分で調べてきます!
ありがとうございましたー
447 :
nobodyさん:03/01/09 12:04 ID:SDmzZYtG
よくわからんという声が多いみたいだし、おれもヒマなので解説してみる。
ついでにage。
SSIを使う場合には.htaccessで以下のように書けと言われることが多い。
AddHandler server-parsed .html
↑Apache1.3系の標準
AddType text/x-server-parsed-html .html
↑動くけど古い形式なのでオススメできない
AddOutputFilter INCULDES .html
↑Apache2系の標準
これは拡張子ごとにSSIかどうかを決めるものだが、まったく別の方法で
SSIにすることもできる。これがXBitHack。上のような設定をするかわりに
XBitHack on または
XBitHack full
と.htaccessに書いた場合、パーミッションが744(-rwx-r---r--)のファイルが
SSIとして処理される。また、fullにして754(-rwx-r-x-r--)ならば、
SSIとして処理された上でファイルの最終更新時刻もブラウザに返される。
要するに、サーバにFTPでアップロードするときに、SSIを使いたいものにだけ
CGIと同じような感覚で実行パーミッションを設定してやればいいということ。
http://www.apache.jp/docs/howto/ssi.html#configuringyourservertopermitssi http://www.apache.jp/docs/mod/mod_include.html#xbithack # 正確には、744/754でなくても、ユーザ実行権限(---x------)と
# グループ実行権限(------x---)のビットが設定されていればいい。
# これがXBitHackという名前の由来。
449 :
nobodyさん:03/01/11 14:31 ID:w+uzaBbX
.htaccessって何て読むんですか?
>>449 自分は”エィチティーアクセス”と呼んでいる。
451 :
nobodyさん:03/01/11 14:39 ID:2PtCQo+x
えいちてぃーあくせす。かと。
452 :
nobodyさん:03/01/11 14:59 ID:nBOon37f
454 :
nobodyさん:03/01/11 22:00 ID:NG3PPvGl
ReadmeNameやHeaderNameでファイル一覧表示をカスタマイズしたのですが、
それまでページ上部に表示されていたディレクトリ名が表示されなくなってしまいました。
現在は、
document.write(document.title);
というJAVAスクリプトをHTMLファイルに埋め込んで無理矢理表示させているのですが
(タイトルにはディレクトリ名が表示されるため)
SSIやCGI、JAVAを使わずにディレクトリ名を表示させる方法はあるのでしょうか?
455 :
nobodyさん:03/01/12 20:55 ID:dcog8qoB
210.130.0.0-210.130.161.0 ってどう表現したらいいでしょうか
210.130.161.0/16では、210.130.161.1以上は弾かれてしまいますよね?
>>455 サブネットマスクの値を求めればいいと思うのだが、えー引き算だったっけか?
ちゅーか何進で計算するんだっけかな、それ以前に引き算ではなく足し算かもしれん。
でもサブネット値は計算でだすんだったよね?>All
すっかり忘れてしまった。検索すりゃザクザク見つかると思うけど、漏れ鬱モード中なんで
気力なし。
精力バリバリな香具師のレスに期待age。
>>456 そもそも
>>455 の範囲が変なので変です。>210.130.0.0-210.130.161.0
まずは、
210.130.0.0-210.130.160.255と、
210.130.131.0で一旦分けりる。
16進数にしてみる。
D2.82.00.00 - D2.82.A0.FF
D2.82.A1.00
2進数にしてみる。
11010010.10000010.00000000.00000000-
11010010.10000010.10100000.11111111
11010010.10000010.10110000.00000000
こうしてみると判りやすいが、逆にわけわからんにもなりうる。
とりあえずAND演算ね。>すb網
いや、あの、だったら無理してレスしなくても。
>>455 そんなヘンチクリンなのはひとつじゃ無理なんで、
0-127,128-159,160-161に分割して考えてくれや。
459 :
456:03/01/13 22:17 ID:???
うー漏れ論理計算苦手。っちゅーかできない。w
AND、NAND、OR、EX-OR、NOT・・・。もうだめぽ、脳みそがパリティエラー出しますた。
生命維持も危険です。電卓みたいにお手軽計算できるフリーなアプリ誰か知らない?
>> 456
Windows付属の電卓を、関数電卓モードにしてやってみては。
461 :
山崎渉:03/01/15 13:32 ID:???
(^^)
AddType image/gif .ifm
つーか向こうのスレでも答え出てるし
465 :
nobodyさん:03/01/15 20:21 ID:fnmJusxi
>>455 >210.130.0.0-210.130.161.0 ってどう表現したらいいでしょうか
>210.130.161.0/16では、210.130.161.1以上は弾かれてしまいますよね?
>>458で答えは出た。それを1つに集約するのは無理。
210.130.0.0/17
(210.130.0.0/16 - 210.130.127.0/16まで)
210.130.128.0/19
(210.130.128.0/19 - 210.130.159.0/19まで)
210.130.160.0/31
(210.130.160.0/31と210.130.161.0/31)
3レコードはいるかと・・
違ってたら言って。恥ずかしいから。
あと
>>456、ネタデスカ?(藁
実は全く判ってないっぽいなその発言・・・
鬱だから検索しないと言いつつ、実は検索したところで
根本的に理屈わかってないから判らないんじゃないの?
466 :
465:03/01/15 20:31 ID:???
467 :
nobodyさん:03/01/16 04:45 ID:0KKKlTBw
.htacceseで鯖の使用している容量を調べる事は出来るんでしょうか?
470 :
nobodyさん:03/01/16 19:01 ID:lQHp/c2R
Web制作板のくだ質スレから案内されてきました。
.htaccess ファイルを使ってIPなどのアクセス制限をすることができますが、
あるIP範囲(192.168.100.0〜192.168.100.255)を制限しておいて、
そのIP範囲に該当する場合でも特定のUserAgentの場合には
アクセス許可するようには可能ですか?
教えて偉い人!
>>470 SetEnvIfも適当に使って、ua_flagを作っておく。
order deny,allow
deny from 192.168.100.0/24
allow from env=ua_flag
472 :
470:03/01/16 20:09 ID:???
>>471 ありがとうございます。
とりあえずこんな感じでやってみたら、一発でできました。感謝!
SetEnvIf User-Agent "Sleipnir" Sleipnir
order deny,allow
deny from 192.168.100.0/24
allow from env=Sleipnir
↑192.168.100/24はダメだけど、Sleipnirの場合のみ許可
【質問】
外部からの直接参照はサーバー側が「禁止」と言ってるのに禁止設定されていないので、
勝手に直接参照されると規約違反になってしまうんです。
イメージソースを他のサーバーで直接参照できないようにする方法を教えてほしいです。
FilesMatchとSetEnvIfを駆使
>>474 うちのサーバーもたもたヘンな挙動をするんで、なぜか外部参照できなかったりできたりするんです。
キャッシュもクリアしてからやってるんですけど、どうなってるんでしょうか?
記述ミスしか考えられませんか?
user-agentが無いアクセスを拒否したいんですけど、
こんなんでいいんでしょうか。
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !.
RewriteRule ^.*$ - [F]
おもしろい規制だな
^.+$じゃなくて?
.htaccessしらないから、阿呆なこといっていたらスマン
>>477 SPAMBotにUA無しのがあるって聞いたんで。
>>478 うまくいきますた。ありがとう。
RewriteCond %{HTTP_USER_AGENT} !.
やってみたら、どちらでもいけますた(^^ゞ
RewriteCond %{HTTP_USER_AGENT} !^.+$
>>479 NortonはUA削ることがあるぞ
Norton使用者お断りなら別にかまわんが
USER_AGENT = Blocked by Norton
REFERER = Blocked by Norton
482 :
nobodyさん:03/01/25 03:37 ID:ajCoNruO
拡張子無しのファイルやファイル個別指定で、指定したファイルだけ
CGIとして動かしたいのですがどうしたらいいですか?
<Files "hoge">
SetHandler cgi-script>
</Files>
484 :
nobodyさん:03/01/25 19:37 ID:atON430a
ありがとうございます
485 :
nobodyさん:03/01/26 13:01 ID:28lAB0x2
ttp://aaa/bbb/ccc/ddd/eee/fff.html ccc以下に置いてある画像の直リンクを塞ぐために
cccに.htaccessを置いたら、フレーム仕様のfff.htmlに限りMACが
弾かれました。
リファラ
ttp://aaa/bbb/とユーザーエージェントMACを 許可するため、
SetEnvIf REFERER "aaa/bbb" Ref1
SetEnvIf User-Agent "Mac_PowerPC" Ref2
SetEnvIf User-Agent "Macintosh" Ref3
Order Deny,Allow
Deny from all
Allow from env=Ref1
Allow from env=Ref2
Allow from env=Ref3
にしてみました。
WINで確認は出来ました。
MACは、これで大丈夫でしょうか??
とりあえず、Refererによるアクセス制限はやめましょう。
せめてRefererが空の場合はアクセスを許可するようにしましょう。
RFC1945(HTTP/1.0)のセクション10.13、RFC2616(HTTP/1.1)のセクション15.1.3では、
Refererを送るか送らないかユーザが選択できるようにするようなインターフェースを
作ることをブラウザ開発者に強く推奨しています。
488 :
nobodyさん:03/01/31 22:08 ID:O78gHYV5
SetEnvIf で複数の UserAgent をはじく場合、私は (1) や
>>231 のように変数名を使い回す方法を
とっているのですが、Web 上の解説だと (2) のように変数名を変えている方法が多いようです。
(1) の方法で問題はありませんか。特に問題は発生していないようですが。
(1)
SetEnvIf User-Agent "UnkoBrowser" Dame0
SetEnvIf User-Agent "DQNbrowser" Dame0
SetEnvIf User-Agent "TakoBrowser" Dame0
deny from env=Dame0
(2)
SetEnvIf User-Agent "UnkoBrowser" Dame1
SetEnvIf User-Agent "DQNbrowser" Dame2
SetEnvIf User-Agent "TakoBrowser" Dame3
deny from env=Dame1 Dame2 Dame3
(1)で問題なし。(2)は単にムダ。
490 :
nobady:03/02/01 16:24 ID:Czj4ApwK
491 :
nobodyさん:03/02/01 16:29 ID:i0abAvUT
特定のブラウザを拒否するにはどうしたらいいのでしょうか?
普通にdeny from の後に書くとエラーがでてしまいます。
>>489 Nimdaハケーン!!
駆除駆除駆除
>>490 そっとしておいてやれよ。
SetEnvIF Host ごにょごにょ
RewriteCond %{HTTP_HOST} ごにょごにょ
>>491 なれば。
>>492 RewriteCond %{HTTP_USER_AGENT} ごにょごにょ
>>487 リファによる制限は、その目的によると思うぞ。
>>495 hoge をつかうなっての
つーか、Rewrite ネタ多すぎ。
>>497 >hoge をつかうなっての
その訳は?(まー実際にサイトは存在しているが敢えて)
>つーか、Rewrite ネタ多すぎ。
ダメなん?
>>495 漏れはApache2なんだが
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} ^Googlebot(.*).*$
RewriteRule ^.*
http://hoge.com/index.htm$1 [L,R]
RewriteCond %{HTTP_USER_AGENT} !^Googlebot(.*).*$
RewriteRule ^.*
http://hoge.com/index.html [L,R]
</IfModule>
でどう?
#RewriteCond %{HTTP_USER_AGENT} !^Googlebot(.*).*$ の行は
いらんかもしれん。
500 :
499:03/02/03 20:55 ID:???
おい、なんだYO、
>>495をよく見たら普通のユーザーもグーグルボットも
リダイレクト先がいっしょジャン!
URLコピペでカキコしたから気付かなかった罠。