[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 01/04 21:21 / Filesize : 324 KB / Number-of Response : 942
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

.htaccess質問コーナー Part5



1 名前:Name_Not_Found [2006/09/09(土) 00:19:29 ID:HbgUKOrv]
.htaccessの書き方・使い方などに関するスレです。
【参考サイト】
・ ミケネコの htaccess リファレンス
mikeneko.creator.club.ne.jp/〜lab/web/htaccess/
・ メモランダム MultiX.jp
multix.jp/html/memo/
・ futomi's CGI Cafe - .htaccessの小技編
www.futomi.com/lecture/htaccess/
・ .htaccess実践活用術
www.shtml.jp/htaccess/

【Apacheドキュメント】
・ Apache 1.3ドキュメント
httpd.apache.org/docs/
・ Apache 2.0ドキュメント
httpd.apache.org/docs-2.0/
・ Apache 2.1(alpha)ドキュメント
httpd.apache.org/docs-2.1/
・ Apache チュートリアル: .htaccess ファイル
httpd.apache.org/docs-2.0/howto/htaccess.html
・ Apache チュートリアル:認証、承認、アクセス制御
httpd.apache.org/docs-2.0/howto/auth.html
・ Apache モジュール mod_access(アクセス制御)
httpd.apache.org/docs-2.0/mod/mod_access.html
・ Apache モジュール mod_auth (認証)
httpd.apache.org/docs-2.0/mod/mod_auth.html
・ Apache URL Rewriting Guide (Rewrite)
japache.infoscience.co.jp/rewriteguide/
・ Apache module mod_rewrite  (Rewrite)
japache.infoscience.co.jp/japanese_1_3_6/manual/mod/mod_rewrite.html


194 名前:Name_Not_Found mailto:sage [2006/11/12(日) 04:29:01 ID:???]
それは.jp, .net, .com, .google.bot.comに属しているか、属していなくても
HTTPリクエストヘッダのAccept-Languageにjaが入っていれば
アクセスが許可される事になるわぁ。
Accept-Languageの条件はリモートホストの条件とどちらか一方だけ満たしていればいいか、
両方同時に満たさなければいけないのかちょっとわからないかしらぁ?

195 名前:Name_Not_Found mailto:sage [2006/11/12(日) 04:32:04 ID:???]
情報収集程度ならGoogleのキャッシュで十分よぉ?

196 名前:Name_Not_Found mailto:sage [2006/11/12(日) 04:36:27 ID:???]
>>192
> ちなみにこれだとヤフーの人も弾かれちゃうよ。
Allow from .net



197 名前:191 mailto:sage [2006/11/12(日) 04:37:56 ID:???]
>>194
そうすると、Envがjaでなくても、.comや.netの英語圏のホストを通しちゃうと言うことですか?
ってことは、他に海外のアクセスを、特定のクローラー以外はじく方法を考えないといけないですね。
困った困った。。。

198 名前:Name_Not_Found mailto:sage [2006/11/12(日) 04:48:35 ID:???]
ひっくり返して拒否してしまえばよいのだわ。
ホストを満たす必要があるからUA偽装をしたジャンクボットの心配もないのだわ。

SetEnvIf Request_URI .* ng
SetEnvIf Accept-Language ja !ng
SetEnvIfNoCase User-Agent google
Order allow,deny
Allow from .jp
Allow from .net
Allow from .com
Allow from .google.bot.com
Deny from env=ng

199 名前:Name_Not_Found mailto:sage [2006/11/12(日) 04:49:27 ID:???]
User-Agent google の後の !ng が抜けてしまったのだわ…。

200 名前:191 mailto:sage [2006/11/12(日) 04:53:52 ID:???]
>>198-199

おおお!
ありがとうございます。

逆に考えるってことなんですね?
いじりはじめてまだ日が浅いので勉強になりました。

これで、試してやってみます。

201 名前:Name_Not_Found mailto:sage [2006/11/12(日) 11:05:00 ID:???]
ttp://www.foo.bar.jp/ で接続された場合に
ttp://foo.bar.jp/ にリダイレクトする方法はありますか?
RedirectMatch あたりが使えるのだろうかと思うのですが、
RedirectMatch permanent ^http://www.foo.bar.jp/ http://foo.bar.jp/
こんな風に書いても反応しません。
そもそも正規表現のことをよくわかっていないのであれですが……。

ttp://www.seo-equation.com/html/htaccess/
あと、テンプレにありませんが、
ここでも解説がいくつか載っていましたので報告しておきます。

202 名前:Name_Not_Found mailto:sage [2006/11/12(日) 11:37:15 ID:???]
>>201
素人な意見で恐縮だけど、それループになるからApacheが止めてるんじゃないかと....



203 名前:Name_Not_Found mailto:sage [2006/11/12(日) 15:28:09 ID:???]
>>201
>>143-144
このスレくらい見返せ

204 名前:201 mailto:sage [2006/11/12(日) 22:02:11 ID:???]
>202-203
どうもありがとうございます。問題なく希望通りになりました。
「Redirect」でここを検索して結果なしだったのですが、
カタカナでも検索するべきでした。

205 名前:Name_Not_Found mailto:sage [2006/11/15(水) 13:39:19 ID:???]
index.htmlとRSS用のindex.xmlのみallow from allで
それ以外はdenyにしたくてこう書きました。

deny from all
<Files index.html>
allow from all
</Files>
<Files rss.xml>
allow from all
</Files>

しかしこれだとURLを入力する時index.htmlではなくドメインで止めた時
forbiddenになってしまいます。
#例えば2ch.net/index.htmlではなく2ch.netにすると
#制限がかかる。
ドメインで止めても制限がかからないようにするにはどうすればよいでしょうか。

206 名前:Name_Not_Found mailto:sage [2006/11/17(金) 00:00:32 ID:???]
deny from xxx.xxx.xxx.xxx
というのを自動で追加してて、毎日数十行ずつ増えるんですが、
何百行とかになると、サーバーが重くなったりしますか?

207 名前:Name_Not_Found mailto:sage [2006/11/17(金) 00:27:27 ID:???]
>>205
Order allow,deny Order deny,allow も明示してみるのだわ?

>>206
重くなるのだわ。

208 名前:Name_Not_Found mailto:sage [2006/11/17(金) 03:03:11 ID:???]
>>206
1000行ぐらいならたいしたことないとおもうよ。

209 名前:Name_Not_Found mailto:sage [2006/11/17(金) 04:18:52 ID:???]
>>206
他に方法がないのならしかたないけど、もっと行数を絞れる
条件や法則がないかしらべてみたらどうかな?
そうすれば、簡単な行数でおなじことできちゃったりするかも。

210 名前:208 mailto:sage [2006/11/17(金) 04:47:40 ID:???]
apache関係のプロセスが〆るCPU負荷率の統計でも取ってみればいいと思うけど、
Deny from 〜 が 5000行ある状態と 1行の状態では実環境では殆ど差が出ないと思われる。

そりゃ、HTMLファイルにリクエストを送りまくるようなベンチをしたらかわるとおもうけど、
今時 php や CGI がメインになるだろうから、そっちの負荷でもみ消されるっしょ。
殆どのサイトでは負荷の95%以上がphp/CGI負荷だろうし。

ちなみに他に方法があるかどうかは >>206 がどういう目的でそういう規制をしているか教えてくれないと分からない。
ってことで教えてくれ。



211 名前:Name_Not_Found mailto:sage [2006/11/18(土) 04:43:49 ID:???]
Order allow,deny
Allow from junk.example
Allow from jade-stern.example
Allow from reiner-rubin.example
      ___
     く/',二二ヽ>
     |l |ノノイハ))
      l∩#゚听∩  1番人気翠星石は
     ノ弋l_介」ン  一番上に書きやがれ
    ≦ノ`ヽノヘ≧  こんちくしょーっ
.   ミく二二二〉ミ

      .ィ/~~~' 、
    、_/ /  ̄`ヽ}
    ,》@ i(从_从))
    ||ヽ|| ゚ -゚ノ| ||  そうね。
    || 〈iミ''介ミi〉||  ジャンクこそ最後までじっくり比較されて
    ≦ ノ,ノハヽ、≧ Denyされるべきなのだわ。
    テ ` -tッァ-' テ
           _
         ,'´r==ミ、
         卯,iリノ)))〉    たった3行ならほとんど関係ないわぁ。
     /`-|l〉l.゚ ー゚ノlノ\
     レ´V|!/'i)卯iつVヽ!  ところでjunkをmercury-lampeへの
        ''y /x lヽ     CNAMEとして登録したのはだぁれ?
       l†/しソ†|
       lノ   レ

212 名前:Name_Not_Found mailto:sage [2006/11/18(土) 04:52:41 ID:???]
           _
         ,'´r==ミ、
         卯,iリノ)))〉
     /`-|l〉l.゚听ノlノ\  あれ?そもそもわたし
     レ´V|!/'i)卯iつVヽ!  入れないじゃなぁい。
        ''y /x lヽ     どういうことなのぉ?
       l†/しソ†|
       lノ   レ



213 名前:Name_Not_Found mailto:sage [2006/11/18(土) 04:55:41 ID:???]
聞いて水銀灯、PTRレコードを
書き換え忘れたのは、あいつよ。

、ー.:.:|::: |:.::ノj ! ハ |  l!     j  |  l
、_ー 、|  | } {トTニ、トニ|T{ l /|  リ   }             _ -‐lニ =ー...、
{:`:::::j'ニ、{:イ |ヽ{ィッ.}ヽヽN /_メ、/ ! /           、 '´ /ノ(: : ::.:::ノ:l::`ヽ
!マ:::{j_ソ/:ノ !| `ー'    イィl.i},/ //   , - 、       \ l'/::.⌒_ヽ/- 'ヽ::l:::ト、
l ヾへ´::|  | l        〉 ー'/ィイ´  iヽ | : : 〉、        /冫 ̄! { o\:, ::_::メ、レ′
ヽ  \ヽ!  ト l    ,.= 、   ハ | lrヽ !トV!: : !: :l   __  /: :l  l   ー ': :ヽ゚_ノ|!
トヽ  `,|  l`l !、  ヽ.ノ ,.イ{ l ! !! ヽl! ! !: :|: :!ヽ {r‐┴v: : l  ハ    /ヽ、:.:::/|   _
| ,. イ ̄l   !:ハ l丶-_-<  l l ! ヽ _j l∧ l: :l: : \ __/: : l  l, ‐ヽ、/  : : l}/:::| _{_
:'´.:.:.:l:::::::}   !:::ヘV<rj1:::::::\ ハ !  ー   ヽ、ヽ:.. : ://: :l  |   {  : :/´:.:\|_j::::::::
....:.:.イ}:::ノ丶、ヽ::::ソヽチ':::::: .:::::| |j>ヽ、      ー^ー /' : : l  |      ̄/:::r::::...: : ::..::::
:/::/:.:久__` '‐く:::::::ヽ:::_ イ!  トlヽー-- 、r-v、 /:__: : :!  |-j-......._/::Y、::::;: -----
:::::/:.:.:ヽ、:::__::>,ゝ:::: .::ヽ┴- L}:::}:.:.:... ヽ:.:.:〉‐´/:::l   |イ::::::::::::::::::::::| ´
:::/.:.:.:ィ:ヽ- 二 _<\:: .::::/ `二>、Y::::... :.:...ーヽ イ_〉:::::> 、| l:::::::::::::::::::::::|
/:/::/.:.:.:7::、-‐= イl:::ヽく:.:..`ヽ_<_:`i:::::::::..:..:..:::ノ- '  ̄     j-ー- _:::::::l
´‐ ´ ..:./::::::::7ーア::! l:: : ヽヽ:.ー-_,<.:ト-- ⌒ ー'         /    : :`:ヾ

214 名前:Name_Not_Found mailto:sage [2006/11/18(土) 05:18:09 ID:???]
           _
         ,'´r==ミ、
         卯,iリノ)))〉
     /`-|l〉#゚听ノlノ\  フフフ
     レ´V|!/'i)卯iつVヽ!  あわて過ぎよぉ真紅ッ!
        ''y /x lヽ
       l†/しソ†|
       lノ   レ

215 名前:206 mailto:sage [2006/11/18(土) 05:30:43 ID:???]
皆さんありがとうございます。
詳しく書きますと、結構多くの掲示板がありまして、スパム投稿がひどいのです。
NG語句の設定とかcaptchaとか入れることも考えましたが、できるだけ投稿者に
負担をかけたくないので、.htaccessで拒否しようと思いました。
使わなくなった掲示板(スパマーしかアクセスしない)にアクセスしたIPを全部
.htaccessに自動で追加しています。
それが毎日大量に増えるため、心配になって206で質問しました。

216 名前:Name_Not_Found mailto:sage [2006/11/18(土) 05:45:40 ID:???]
IPアドレスで規制するならDeny from A.B.C.0/24 で一気に256個ずつ
規制したほうがパフォーマンスはよくなるわぁ。

217 名前:Name_Not_Found [2006/11/18(土) 10:31:04 ID:mFJS+3tV]
>>198の書式を利用させて頂こうと考えています。

SetEnvIf Request_URI .* ng
SetEnvIf Accept-Language ja !ng
SetEnvIfNoCase User-Agent google !ng
SetEnvIfNoCase User-Agent yahoo !ng
SetEnvIfNoCase User-Agent msnbot !ng
SetEnvIfNoCase User-Agent ask !ng
Order allow,deny
Allow from .jp
Allow from .net
Allow from .com
Allow from .inktomisearch.com
Allow from .google.bot.com
Allow from .google.com
Allow from .search.live.com
Allow from .msn.com
Allow from .ask.com
Deny from env=ng

このように書いてみたのですが、SetEnvIfNoCase User-Agent google !ngの
googleというところは、User-Agentの文字列に大文字小文字を問わず、
googleという文字列が含まれているものと解釈されるのでしょうか?

Mozilla/5.0 (compatible; Googlebot/2.1; +www.google.com/bot.html)と
Mediapartners-Google/2.1の2種類のUser-Agentがあるのですが、googleと
いう文字列がどこかに含まれていれば両方を上の書式で通せるでしょうか?

218 名前:Name_Not_Found mailto:sage [2006/11/20(月) 02:31:18 ID:???]
SetEnvIf ttp://httpd.apache.org/docs/2.2/mod/mod_setenvif.html#setenvif
SetEnvIfNoCase ttp://httpd.apache.org/docs/2.2/mod/mod_setenvif.html#setenvifnocase

この違いを調べればNoCaseが付いている方は大文字(upper case)小文字(lower case)を
無視するとわかるのだわ。
無視する分すり抜けられ易くもあるからNoCase無しでパターンを
しっかり書くことをお薦めするのだわ。

219 名前:217 mailto:sage [2006/11/20(月) 12:13:04 ID:???]
>>218
解説ありがとうございます。
ひとまずこのままやってみて通り抜けがあるか確認してみます。

220 名前:Name_Not_Found mailto:sage [2006/11/20(月) 14:26:23 ID:???]
>>218
> この違いを調べればNoCaseが付いている方は大文字(upper case)小文字(lower case)を
> 無視するとわかるのだわ。
> 無視する分すり抜けられ易くもあるからNoCase無しでパターンを
> しっかり書くことをお薦めするのだわ。

逆だろうが。
リンク先よーくみ絽。


221 名前:Name_Not_Found mailto:sage [2006/11/22(水) 13:08:39 ID:???]
order deny,allow
deny from all

Order Allow,Deny
Allow from all

の表記は一緒には使えないのでしょうか。
日本語を受け入れる設定の人以外を弾く場合は上手く行ったのですが
特定の言語使用者を弾きたいのですが、インデックスにアクセスできなくなってしまいます。
いろいろググってみたのですがイマイチ理解できなかったので教えて下さい。

222 名前:Name_Not_Found mailto:sage [2006/11/22(水) 13:23:37 ID:???]
ディレクティブは大文字小文字の区別はしないとドキュメントで述べられてるし、
allow,denyはignore case(大文字小文字無視)で比較されてるんだ。

許可・拒否の2つしか選べないから、日本語は許可、特定の言語は拒否、
どちらでもない場合は…?って状態になってるとうまくいかない。



223 名前:221 mailto:sage [2006/11/22(水) 14:55:27 ID:???]
>>222
同じ項目内については並び立たないんですね。
日本語のみ許可の部分を削除してから追加したら上手くいきました。

今までも別のOrder Allow,Deny、Allow from allを記述すると
アクセスできなくなっていたりしたのですが
それも同じ項目でorder deny,allow deny from allが使われていたからだとわかりました。

初歩過ぎて調べてもわからなかったので助かりました。
とてもわかりやすかったです。ありがとうございます!

224 名前:Name_Not_Found mailto:sage [2006/11/23(木) 00:42:28 ID:???]
>>221
どうしたいのかよく判らないけど、以下のように書けば
「全拒否→一部許可→許可した中からさらに一部拒否」ってできるよ。

order allow,deny
allow from ...
deny from ...

225 名前:Name_Not_Found mailto:sage [2006/11/23(木) 07:12:09 ID:???]
相互リンクのサイトが自分のところのCSSファイルをまんま盗んで使ってるんですが
これをDLさせない、閲覧させないようにできない方法はないでしょうか・・・?
人柄が悪い人ではないので、その事で文句言ったりして角が立つのも嫌なので見れなくしたいです

226 名前:Name_Not_Found mailto:sage [2006/11/23(木) 07:33:46 ID:???]
ここに画像の場合の例が載ってるわぁ。FAQよぉ?
ttp://httpd.apache.org/docs/2.2/env.html

完全に見れなくするならそのままDenyするかリライトするか
FTPでパーミッションを落とすか削除しなさいよぉ?

227 名前:Name_Not_Found mailto:sage [2006/11/23(木) 11:55:22 ID:???]
ちょこちょこファイル名変えてやるのも楽しいぞ

228 名前:Name_Not_Found mailto:sage [2006/11/24(金) 08:49:29 ID:???]
>>225
直接相手に言ったほうがいいよ。

229 名前:Name_Not_Found mailto:sage [2006/11/24(金) 15:13:10 ID:???]
CSSのファイル名変えて
前のファイル名のバックにグロ画像を指定しておいておけば完璧

230 名前:Name_Not_Found mailto:sage [2006/11/24(金) 15:25:40 ID:???]
直リンでCSSを参照してるわけじゃないんじゃないかと。。。
「ページを保存する」でいちどHDDに落とし込んで、
そのCSSを利用して自サイトに使い回してるんじゃないのかな?

俺もブラウザで「ページを保存する」でCSSだけは保存されないように
するにはどうすればいいのか、知ってる人がいたら教えて欲しいかも。

231 名前:Name_Not_Found mailto:sage [2006/11/24(金) 15:33:53 ID:???]
おそらくCache-Control: no-cacheヘッダを返せば簡単には拾えなくなるですぅ。
でもサーバがHeaderディレクティブを使えるようになってるかは知らんですぅ。

232 名前:Name_Not_Found mailto:sage [2006/11/24(金) 15:56:22 ID:???]
>>230
サーバーに負担無いなら別にいいじゃん。
と思ったんだけど、なんでいやなの?



233 名前:Name_Not_Found mailto:sage [2006/11/24(金) 16:16:54 ID:???]
>>232
レン鯖なんかは外部から画像などに直リンクさせるのを禁止してるところが多いよ。

それに、たいした物じゃないけど一生懸命に時間をかけて組んだCSSを無断で使い回しされるのは、
あまり良い気分じゃないでしょ。

234 名前:233 mailto:sage [2006/11/24(金) 16:34:27 ID:???]
あ、誤解が生じそうだからちょっと書いておきますw

>たいした物じゃないけど一生懸命に時間をかけて組んだCSS

たいした物じゃないっていうのは、俺が作ったCSSのことですよ。><

235 名前:Name_Not_Found [2006/11/24(金) 16:56:13 ID:+L12hUBF]
初心者です。

htaccess.textというファイルがあり(提供されたもの)
普通に開くとエクスプローラー?で開いて改行されているのですが、
修正するためメモ帳で開くと改行がなくなってしまいます。
メモ帳では修正できないのかなと思ったのですが、調べるとメモ帳でOKのようで・・・。

どうしたら元の形をとどめたまま修正できるんでしょか。


236 名前:235 mailto:sage [2006/11/24(金) 17:00:35 ID:???]
メモ帳にコピペ?


orz



237 名前:Name_Not_Found mailto:sage [2006/11/24(金) 17:16:35 ID:???]
>>234
>レン鯖なんかは外部から画像などに直リンクさせるのを禁止してるところが多いよ。
だから、鯖に負担になって無いなら別にいじゃん、と思ったわけです。

確かに無断で使い回しされるのは嫌だろうけど、あんまり気にするのも
どうかなと思うわけです。
ソース覗かれない様にするために、右クリック禁止してるサイトとかって
間抜けでしょ?
それと大して変わらないなと思うんですよ。

238 名前:Name_Not_Found mailto:sage [2006/11/24(金) 17:29:22 ID:???]
>>237
まーまーまーちょっとその話はおいときましょう。
必要があって制限をかけたい人がいて、.htaccessでなんとかしたいと
考えてる人が相談してるわけだから、解決策を話すのがここは筋ではないかと。

239 名前:Name_Not_Found mailto:sage [2006/11/25(土) 06:35:53 ID:???]
>>235
WindowsのCRLF改行以外の改行を扱えるエディタを使うか、FTPの
アスキーモードを使ってサーバーとやり取りするといいのだわ。

240 名前:Name_Not_Found mailto:sage [2006/11/25(土) 23:45:44 ID:???]
直リンクじゃなかったら.htaccessじゃどうしようもないでしょ。
画像の無断転載がどうしようもないのと一緒で

241 名前:Name_Not_Found mailto:sage [2006/11/26(日) 06:22:56 ID:???]
リンクを貼ってくれた人がURLの最後にスペースを入れてしまったようで、
そこから飛んで来る人は、次のようにURLの最後に%20がついてしまって
いて、404エラーが出ています。

www.xxxxx.com/yyyyy.html%20
                     ↑スペースが最後に1文字ついている

これを RedirectMatch で%20を削除するように対処しようとしたのですがうまく
置き換わりません。

RedirectMatch permanent ^/yyyy\.html%20$ www.xxxxx.com/yyyy.html
                         ↑この部分の表現の仕方がわからない

. でなら一応できるようですが、. 以外で %20 決めうちで置き換えることはできるでしょうか?


242 名前:Name_Not_Found mailto:sage [2006/11/26(日) 07:27:02 ID:???]
半角スペースを引数に含めたいときは " で囲むのだわ。

RedirectMatch 301 "^/yyyy\.html $" www.example.com/yyyy.html



243 名前:241 mailto:sage [2006/11/26(日) 09:52:33 ID:???]
>>242

ぬぅぉぉぉぉ、うまくいきました! ありがとうございます、師匠!

244 名前:Name_Not_Found mailto:sage [2006/11/26(日) 16:30:31 ID:???]
何も知らないユーザーを使って、JavascriptでPOSTしてくる業者がいまして
SetEnvIf Refererで弾いてますが、かなり長期間なのと、ログに延々403が
残るので困ってます。
iptablesみたいな弾き方というかDROPさせる方法ってないでしょうか?
質問がわかりづらかったら、すいません。

245 名前:Name_Not_Found mailto:sage [2006/11/26(日) 16:44:52 ID:???]
httpdが相手する段階まで入り込まれたらhttpdがログを吐くにきまってるわぁ。

246 名前:Name_Not_Found mailto:sage [2006/11/26(日) 16:53:46 ID:???]
分散設定ファイルしか触れないレベルで対処するなら、運良く特定のログを
出力しないような設定がhttpdサーバ全体の設定ファイルにあれば、
それを使えるかもしれないわぁ。

httpd.conf (サーバ全体の設定ファイル)
CustomLog "logs/access.log" common env=!no_log

.htaccess
SetEnvIf Referer "^" no_log

でもサーバ全体の設定ファイルはほとんど見れないから当てずっぽうで
この例ではno_logのような環境変数を探すしかないわぁw

247 名前:Name_Not_Found mailto:sage [2006/11/26(日) 16:56:36 ID:???]
>>245
やはりそうですよね。>httpd
ログの90%以上が、それに占められてる時もあったりして
負荷とかもバカにならないような気がしてます。

248 名前:Name_Not_Found mailto:sage [2006/11/26(日) 17:02:38 ID:???]
httpd.confは、書き換えることができるので、ログ吐きはそれでやってみます。

249 名前:Name_Not_Found mailto:age [2006/11/27(月) 05:10:26 ID:???]
.htaccess   public_html/.htaccess
トップページ public_html/index.html
画像     public_html/images/hoge.jpg

上の環境で.htaccessを使用しているのですが、
トップページの画像だけ表示されなくなってしまいました。
どのようにすれば改善されるでしょうか?内容は下の物を使っています

SetEnvIf Referer "^hoge\.hoge\.com/" ref_ok
SetEnvIf Referer "^$" ref_ok
<Files ~ "\.(gif|jpg|png|swf|3g2|wmv|mp3|avi|lzh|zip)$">
order deny,allow
deny from all
allow from env=ref_ok
</Files>

250 名前:Name_Not_Found mailto:sage [2006/11/27(月) 06:07:52 ID:???]
時々アンチウイルスとかファイアーウォールの関係でRefererを
別の文字に書き換えるものがあるのだわ。
SetEnvIf Referer "^" ref_ng の追加と
Deny from all のかわりに Deny from env=ref_ng を使うのも
試してみてちょうだい。

251 名前:Name_Not_Found mailto:sage [2006/11/27(月) 06:52:59 ID:???]
>>250
ありがとうございます。御指導いただい物を追加し、
SetEnvIf Referer "^$" ref_ngにすることで上手くいきました

252 名前:Name_Not_Found mailto:sage [2006/11/27(月) 07:15:03 ID:???]
まだRefererに ^hoge\.hoge\.com/ とマッチしない文字列が
入ってる事がわかっただけで、上手くいきましたの段階ではないのだわ。

Refererに入ってる文字列を特定した後>>249の状態に戻して
SetEnvIf "^文字列" ref_ok だけを追加して完成なのだわ。



253 名前:Name_Not_Found mailto:sage [2006/11/27(月) 07:41:23 ID:???]
      ___
     く/',二二ヽ>
     |l |ノノイハ))
      l∩#゚听∩  文字列の特定には
     ノ弋l_介」ン  これでも使いやがれ
    ≦ノ`ヽノヘ≧  こんちくしょーっ
.   ミく二二二〉ミ

#!/usr/local/bin/perl
if (open(O, ">>./ref.txt")) {
print O scalar(localtime), ',';
print O $ENV{'REMOTE_ADDR'}, ',';
print O 'Referer: ', $ENV{'HTTP_REFERER'}, "\n";
close(O);
}
print "Content-Type: image/png\n\n";
binmode(STDOUT);
print unpack('u', <<'png');
MB5!.1PT*&@H````-24A$4@```!0````.!`,```#=ZB'#````,%!,5$4[+R,@
M/3!V%B97,"-X2SIG5495>&:48TU[<F=EIH*GE(7NBZ"%SYW:QKCZX-?TY=IJ
MA6E:````DDE$051XVF-P+W?N^U*W?.G:+PSESO??A;RM>_>^EJ'D[]I?_D_J
M[[[_RO"#(6KY_^M_;T3<9UBKI/K_?_W_:X*R#$W&]O^__O__33"?X?=N^__Q
M0.:<?(877/__OO___V_B>H9W[_Y#`</_?^__OX4R@>`?B/C%<!],]?__[\)P
F[___]_^_`;E7&'S_033]-0$`6_%N0U0`:;T`````245.1*Y"8((`
`
png
exit(0);

254 名前:235 mailto:sage [2006/11/27(月) 08:18:58 ID:???]
>>239
ありがとうございますっ!!



だわ^^


255 名前:Name_Not_Found mailto:sage [2006/11/27(月) 09:46:09 ID:???]
>>252
重ね重ねお礼を申し上げます。最後にもう一つだけご教示いただければ幸なのですが、
アクセス元の言語環境によってアクセスを弾くと言ったことは可能でしょうか?
(例えば中国人がやってきたので中国語を指定して弾きたい)

256 名前:Name_Not_Found mailto:sage [2006/11/27(月) 10:13:23 ID:???]
言語環境といえば、50レスと少しほど上にも出てるように、SetEnvIfで
Accept-Languageとマッチさせればいいのだわ。
でもこれはブラウザの設定で簡単に変更できる自己申告の値だから、
簡単に回避されたりとあまり当てにならないのだわ。
ユーザの環境の言語ではなく特定の国からアクセスとするなら
国別のIPアドレスの割り当てリストという、ユーザが簡単に変更できず、かつ、
Allow, Denyが最も得意とするIPアドレスでの処理になるから、
確実な制限をするなら国別のIPアドレスの割り当てを使ってちょうだい。

あと、あまりいろんな値を使ってアクセス制限をしようとすると、
SetEnvIf, Order, Allow, Denyだけでは足りなくなるから、
リライトに置き換えた方が自由度が高いのだわ。

257 名前:Name_Not_Found mailto:sage [2006/11/27(月) 10:54:33 ID:???]
わかりました、色々教えていただきありがとうございました

258 名前:Name_Not_Found mailto:sage [2006/11/27(月) 11:37:30 ID:???]
.htaccess関連でお勧めの書籍ってありますか?

259 名前:Name_Not_Found mailto:sage [2006/11/27(月) 11:52:37 ID:???]
物凄く初歩的な質問ですいません。
.htaccessが問題なく使用できます、というレンタル鯖と契約したのですが、
いっこうに使えません。
使用したいのは、リダイレクトの機能です。
やり方は知っていて、会社のサイトや自分のサイトでは使用しています。
今回、友人のサイトのために、なるべく安くてという条件で契約しました。
404エラーの表示を変える、とかパスワードをかけるなどはコントロールパネルからできます。
しかし、自分で用意した.htaccessをFTPでアップしてもまったく動きません。
それに、コントロールパネルからパスワード保護のフォルダなどを作っても、WEB上のサイト内には.htaccessが作成されていません。
ユーザーがアクセスできる範囲内には、.htaccessが存在しないようで、自分で書いた.htaccessを全てのフォルダに上げましたが、上書きの警告なども出ず、
コントロールパネルから操作したパスワード保護や404エラーの表示などには、まったく影響を与えていません。
試しに、中身がでたらめの.htaccessをルートフォルダとルートフォルダの上の階層(ここまでアクセスできる)にアップしました。
エラー表示で閲覧ができなくなる、と思いきや、まったく問題なくサイトが表示されます。
他に契約している鯖があり、そこではこのデタラメ.htaccessをアップすると、エラー表示になってしまい、閲覧ができなくなります。
同じデタラメ.htaccessをアップしるのに、この違いは?

もしや、「.htaccessが使える」というのは間違いで、「.htaccessを利用してできるコトの中のいくつかが、コントロールパネルから操作できますよ」
という程度の話では無いかと思い、レンタル鯖のサポートにメールをしました。
しかし、「パスワード保護のやり方」が帰ってくるばかりで、いっこうに進展しません。
.htaccessには色々な機能があり、httpd.confでどの機能の使用を許すかを設定しないと、
他の機能は使えないんですが、その辺りはどうなっているでしょうか?という質問メールを送ったら
その後は返事がこなくなりました。もう一ヶ月経ちます。
このレンタル鯖は本当に.htaccessを使えるのでしょうか?




260 名前:Name_Not_Found mailto:sage [2006/11/27(月) 12:16:21 ID:???]
何処の連鎖場?

261 名前:259 mailto:sage [2006/11/27(月) 12:38:15 ID:???]
TEKIPAKI.JPです。


262 名前:Name_Not_Found mailto:sage [2006/11/27(月) 13:07:17 ID:???]
>>259
レン鯖板の該当スレを見ると、かつては使えてたような事を書いてるね。
向こうで質問した方がいいと思う。



263 名前:Name_Not_Found mailto:sage [2006/11/27(月) 16:44:58 ID:???]
そんな鯖はさっさと見捨てて、他のところに移ったほうがいいんでないの?

264 名前:Name_Not_Found mailto:sage [2006/11/27(月) 22:10:27 ID:???]
>言語環境といえば、50レスと少しほど上にも出てるように、SetEnvIfで
>Accept-Languageとマッチさせればいいのだわ。

こういう対処が多いけど、Accept* の場合はふつーに
コンテンツネゴシエーションさせて 403 ではなく 406 を返す方が
HTTP 的に正しいと思う。

265 名前:Name_Not_Found mailto:sage [2006/11/27(月) 22:33:57 ID:???]
フフフ…そうねぇ。
真紅はmod_negotiationのForceLanguagePriorityをNoneにしておけば
LanguagePriorityからの自動選択を行わずに406を返すって
知らないのかしらぁ?
ただ、406のデフォルトのエラードキュメントには選択肢のリンクが表示されるから
URLの推測以外でのアクセスを出来ないようにErrorDocument 406を適当に
変更しておく必要があるわぁ。

>>258
>>1のURLや、
ttp://httpd.apache.org/docs/2.2/mod/quickreference.html
ttp://httpd.apache.org/docs/2.2/mod/directive-dict.html
があれば十分だわぁ。

266 名前:Name_Not_Found mailto:sage [2006/11/27(月) 22:46:45 ID:???]
アクセスを禁止させることが目的だったら、
406だろうが403だろうがどっちでもよさそうだけど、そういう考え方はだめ?

ttp://www.studyinghttp.net/status_code#Code406
>レスポンスはエンティティにユーザかユーザエージェントが
>最も適切なものを選択するためのリソースの特徴と場所のリストを含むべきである。
このあたりを読むと、アクセス禁止とは逆の目的に使用するためのものだと思うし。

267 名前:Name_Not_Found mailto:sage [2006/11/28(火) 00:29:11 ID:???]
406はAcceptヘッダによって要求されたものを返せないときに使うもの。
たとえばAccept: text/htmlとUAが要求して来たのに、手持ちのコンテンツは
application/xhtml+xmlだけだった場合に406を返す。
同様にAccept-Language: enと要求されたのに日本語のコンテンツしかないときには
406を返す。

>>266
>レスポンスはエンティティにユーザかユーザエージェントが
>最も適切なものを選択するためのリソースの特徴と場所のリストを含むべきである。

ここは406を返すときに代替コンテンツへのリンクを張っておけという意味。
うちはtext/htmlのコンテンツはないけど、application/xhtml+xmlのリソースはあるよ、
英語のコンテンツはないけど、日本語のコンテンツならあるよとリンクを張っておく。
Apacheのデフォルトの406もちゃんとそうなってる。

268 名前:Name_Not_Found mailto:sage [2006/11/28(火) 10:21:20 ID:???]
おねがいします
認証ページでパスワードを記憶するというダイアログを
無くしたんですがどうすればよいでしょうか?

269 名前:Name_Not_Found mailto:sage [2006/11/28(火) 10:27:15 ID:???]
それはブラウザの機能だからブラウザの方をちゃんと探すのだわ。

270 名前:268 mailto:sage [2006/11/28(火) 11:35:30 ID:???]
>269
レスありがとうございます
そちらで探してきます
スレ汚し失礼しました

271 名前:259 mailto:sage [2006/11/28(火) 11:53:41 ID:???]
262さんに誘導されて向こうで聞いてきました。
きちんと使えるようです。
引き続き、.htaccessの質問をこちらでさせてください。

私が設定したいのは、リダイレクトです。
ソースは以下を利用しています。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^******\.com
RewriteRule (.*) www.******.com/$1 [R=301,L]

最後に改行も入れて、ASCIIモードでアップしています。
パーミッションは644と640で試しています。

それぞれ別サバで運用している会社のサイト、自分のサイトは同じ物を使用していて、
それをコピーしてドメイン名だけ書き換えて使っています。
が、現在設定しようとしているサイトではリダイレクトが動作しません。

ネットで検索して、別の書き方のソースも2つほど真似してみましたが、できませんでした。
(その試してみたソースは保存してなかったので、どんなものだったか、書けません、申し訳ないです。)

試しに、ソースをデタラメに書き換えたものをアップしてみました。
アップしする場所は、ルートフォルダやその下、その上の階層など幾つかで試しました。
サイトはエラー表示にならず、普通に表示されます。
同じデタラメ記述のを自分のサイトで試しにアップしたら、サイト全体がエラーで表示されなくなりました。

このリダイレクトを使い為に.htaccessのことを調べて使用しているだけなので、基本的などこかをが間違っているのでしょうか。
アドバイスをお願いします。





272 名前:259 mailto:sage [2006/11/28(火) 17:23:46 ID:???]
補足です。現在は

RewriteEngine on
RewriteCond %{HTTP_HOST}yghjkghghjkghjkgfhjgjkhghjkghjkfhgdfg [R=301,L]

と書いた.htaccessファイルをASCIIモードでルートフォルダ(public_html_ドメイン名.com)にアップして、
パーミッションを644と640と604で試した後に、644で設置したままになっています。




273 名前:Name_Not_Found mailto:sage [2006/11/28(火) 18:30:33 ID:???]
あっちのスレも見てきたけど
RedirectMatchができるとレスはあるみたいだが・・・
mod_rewriteは使えるのかね?(やりたいことはredirectディレクティブで出来そうだけど)
tekipaki.jpに聞くとすれば「htaccessでmod_rewriteは可能ですか?」だとは思うけど
まぁ、どちらにしても>>259のように質問して何もかえってこないということであれば
いくら(ご自身の責任の上で、知識のある方だけお使いください。)とはいっても
あまり良いレンサバ屋じゃないような・・・

274 名前:Name_Not_Found mailto:sage [2006/11/28(火) 19:07:46 ID:???]
リライトが使えるサーバは、実は珍しい部類に入るわぁ。
標準ではインストールされず、管理者側が何らかのリライトを必要とするか、
ユーザにリライトのサービスを提供するためにリライトをインストールすると
設定する事で、ようやく使えるようになるのだわぁ。

275 名前:259 mailto:sage [2006/11/28(火) 19:11:07 ID:???]
273さん
アドバイスありがとうございます。
mod_rewriteというのが、初見でよくわからなかったのですが、
ネットで検索して以下のものを試してみました。

RewriteEngine on
RewriteRule ^/***/(.*)$ /****/$1 [R=301,L]

***というディレクトリ内へのアクセスを別のディレクトリ****にリダイレクトというやり方です。
やはり動きませんでした。

tekipakiのサポートには「やり方は知っています。やり方を教えてくれと言っているのではなく、
.htaccessのリダイレクト機能が使用できる設定になっているかどうかを教えて欲しい」
とのメールに対して返信が無いので、これ以上質問しても無理だと思います。

別件で送った質問メールで、「やり方は知ってます。教えていただかなくてかまいません。
この機能が使えていないようですが、使用が許されているのかをおしえてください。」
というメールも返答が帰ってこなかったので、.htaccess系の質問には返答は期待できないようです。

その後に、サーバー移したいのでドメインのトランスファーはして貰えるのかを質問したら、すぐに返事が返ってきました。



276 名前:273 mailto:sage [2006/11/28(火) 19:45:47 ID:???]
そのやりかたはmod_rewriteというモジュールが入ってないと
できないやり方(>>274の真紅ちゃんがいうように)なので
redirectmatchでやるのがいい
>>1のリンク先とか
ttp://www.shtml.jp/htaccess/redirect.html
とか htaccess リダイレクトとかで検索する
とにかくmod_rewriteとredirect / redirectmatchのリダイレクトは別と
いうことを理解してほしい・・・のだわ

277 名前:259 mailto:sage [2006/11/28(火) 20:18:51 ID:???]

一応、検索して調べてmod_rewriteと通常のリダイレクトマッチは別物というのは分かってます。
通常のリダイレクトマッチはやり尽くして駄目だったので、mod_rewriteというのを試してみました。
検索して調べた先で、mod_rewriteはサーバー側でのインストールが必要というのも、一応分かったんですが、
サポートに聞いても恐らく返信は帰ってこないので、自分で試してみました。


278 名前:Name_Not_Found mailto:sage [2006/11/28(火) 20:36:29 ID:???]
でたらめの.htaccessでInternal Server Errorにならないところが気になるですぅ

279 名前:Name_Not_Found mailto:sage [2006/11/28(火) 20:37:41 ID:???]
自分で調べてわかってんなら質問しなくていいよ。

280 名前:259 mailto:sage [2006/11/28(火) 21:53:28 ID:???]
>>277の書き込みが、せっかくアドバイス貰ってるのに反論みたいになっちゃってすいません。
>>273でmod_rewriteのアドバイスが出たので、調べて試してみました。
今まで色々調べて試してみて、「できない」という結果しか出てないので・・・。
もうすぐドメインのトランスファーが可能になるので、レンタルサーバーを変えてみようと思います。
2ヶ月で変えるのもちょっと抵抗がありますが、元が安かったし仕方ないですね。


281 名前:Name_Not_Found mailto:sage [2006/11/28(火) 22:04:29 ID:???]
でも、調べた方向が合ってるかどうかの確認をしたい事もあるんじゃないかなぁ。

282 名前:Name_Not_Found mailto:sage [2006/11/28(火) 22:30:10 ID:???]
>>281
最近、何でも部分的にしか捉えない人多いよな。
君は煽ってる訳じゃないからいいけど、話には流れってもんがあるんだよ。




283 名前:Name_Not_Found mailto:sage [2006/11/29(水) 18:27:29 ID:???]
win2000で鯖立てやっているのですが、htaccessの機能が動作しません

httpd.conf内部で

AccessFileName test.tes
<Files htaccess.wnt>
Order allow,deny
Deny from all
</Files>

<Directory c:/test/*/test>
AllowOverride Limit
</Directory>

表記は適当にはしょってますが

やるべき設定はやってるはずなんですが、test.tes内部に制御書いてもさっぱり機能しません、他に
設定しとかんと動かない項目とかあるんでしょうか?、Apacheは2.0です。


284 名前:Name_Not_Found mailto:sage [2006/11/29(水) 18:51:34 ID:???]
test.tes.txtになってないか確認するですぅ

285 名前:283 mailto:sage [2006/11/29(水) 19:25:29 ID:???]
自己解決しました・・・

「test.tes」としてたつもりが「test.tes」・・・・使用してるフォントにもよるでしょうが
最初の「t」が全角だったのに気がつかなかった・・・・いつそんなことに・・。

ぐぐって悩んで何時間消費したんだろう・・・・・・orz。

>284 さんありがとう、つまらないミスだったけど気づくキッカケになりました。

286 名前:Name_Not_Found mailto:sage [2006/11/29(水) 19:39:57 ID:???]
翠よくやった翠

287 名前:Name_Not_Found mailto:sage [2006/11/29(水) 19:41:42 ID:???]
>285
全角英数は使わないように癖をつけるとよいかも。
見た目もかっこ悪いし。
IMEの変換候補から全面的に削除したいくらいだ。

288 名前:Name_Not_Found mailto:sage [2006/11/29(水) 20:25:31 ID:???]
pc8.2ch.net/test/read.cgi/mysv/1053675792/747
ここを見て
SetEnvIfNoCase Range "bytes=0-0" forbidden
deny from env=forbidden
と書いたのですが、効きません。
なぜでしょうか?

289 名前:259 mailto:sage [2006/11/29(水) 21:09:59 ID:???]
すみません、サーバーを変える決心はしたんですが、
最後の悪あがきで質問させてください。
内容がゴミ記述の.htaccessファイルをルートフォルダにアップしても、
サーバーエラーにならないという状態は、本当に.htaccessが使えているのでしょうか?
>>285さんのような間違いの可能性も考えて
ゴミ記述のファイルを用意する→別のサーバーに上げる→Internal Server Errorになる。
→同じファイルをそのまま当該サーバーに上げる→ASCIIモードでちゃんと上がっているか確認する。
パーミッションを644.604.640などでそれぞれ試す。
という作業をしても、Internal Server Errorにはならずに通常どおりサイトが見れてしまいます。
キャッシュが残って見れているとかではなく、ページ間を移動したり、F5更新とかをかけています。
サーバーは変えるにしても、単に自分が間違っているのかどうか、それともレンタルサーバー側の何かの間違いなのか、
気になって気になって・・・・。


290 名前:Name_Not_Found mailto:sage [2006/11/29(水) 21:13:06 ID:???]
普通に考えたら使用不可になってると推測するしかないと思う
金返せとメールして鯖変えるのがよろしい

291 名前:Name_Not_Found mailto:sage [2006/11/29(水) 21:27:14 ID:???]
>>289
自分の書いた.htaccessが有効かどうかだけ調べたいなら、
Order deny,allow
Deny from all
だけ書いてupすれば、自分もアクセス出来ないんだから一発でわかるじゃん。頭カタイよ。
mod_rewriteが使えるかどうかは別の話。

292 名前:259 mailto:sage [2006/11/29(水) 21:35:30 ID:???]
>>290
アドバイスありがとうございます。
.htaccessについてあまり詳しくないのと、性格的にゴルァメールを送る前には自分のミスが無いか
を完全にチェックしてからでないとできない性分なので、詳しい方の意見が聞きたかったです。


>>291
すいません、その方法を試させてもらおうと思います。
一つだけお聞きしたいんですが、自分もアクセスできなくなった後って
FTPソフトではアクセスしてそのファイルを消す事はできるんでしょうか?




293 名前:Name_Not_Found mailto:sage [2006/11/29(水) 21:50:23 ID:???]
>>292
思うけど、質問が長引く人って疑り深い人なんだよね。素直に言われた事をやるって事をしない。。
ftp接続は関係ない。

294 名前:Name_Not_Found mailto:sage [2006/11/29(水) 21:56:18 ID:???]
HTML内でphpを動かすには
AddType application/x-httpd-php .html
と書けば良いと教えて頂きましたが、
どんな拡張子でもphpを動かせるようにするには
如何すれば良いでしょうか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<324KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef