• 締切済み

htaccessで直リンク防止をしたらindexが見れない…

htaccessの記述で困っております。 初歩的なミスをしているのかもしれませんが、何かお気づきの点がありましたら教えてください。 htaccessで設定したいこと: ・外部からの全ファイルへの直リンクを避けたい ・でも一部のファイルは直リンクを許可したい(バナー画像やindexなど) 手探りで記述してみたところ、なんとか成功したのですが トップページへのアクセスがはじかれてしまいます。 http://●●●/index.html にはアクセスできますが http://●●●/ だと表示されない、という状態です。 index.htmlに直接アクセスされても実質的には変わらないのですが、 できればアドレスを短くすっきりさせたいんです。 SetEnvIf Referer "^http://●●●/" ref01 order deny,allow deny from all allow from env=ref01 <Files ~ "^(banner\.jpg|index\.html|http://●●●/)$"> allow from all </Files> 何か改善点はないでしょうか?

  • kolly
  • お礼率68% (30/44)
  • HTML
  • 回答数1
  • ありがとう数1

みんなの回答

  • Yanch
  • ベストアンサー率50% (114/225)
回答No.1

これでどうでしょうか。 テストする環境ないので、間違っているかもしれません。 SetEnvIf Referer "^http://●●●/" ShowOK SetEnvIf Referer "^$" ShowOK order deny,allow deny from all allow from env=ShowOK <Files ~ "^(banner\.jpg|index\.html|)$"> allow from all </Files>

kolly
質問者

お礼

アドバイスありがとうございます。お礼が遅くなってしまい申し訳ありません。 何度か試してはみたものの、やはりうまくいけませんでした…>< そこでindex(バナーとかもこの階層において)以下にディレクトリを作って そちらにhtaccessをかける、という方向で落ち着きました。

関連するQ&A

  • .htaccess 直リンク防止について

    自サイトのホームページで動画ファイル(wmv)に対する直リンクを防ぐために、.htaccessを設置したのですが、その結果自分のサイトからもエラーになってしまいます。記述内容は以下です。 <Files ~ "\.(gif|png|jpg|wmv)$"> SetEnvIf Referer "^http://www\.xxxxxx\.com" ShowOK SetEnvIf Referer "^$" ShowOK order deny,allow deny from all allow from env=ShowOK </Files> ------------------------ http://www\.xxxxxx\.com は自分のサイトURLです。 FTPでアップする時は、アスキーモードでアップしています。 属性変更では644に設定しています。 どこか間違っているのでしょうか?

  • .htaccessについておしえてください。

    外部からjsファイルを直リンクなどで、見られないようにできないかと考えています。.htaccessで特定のサイトからのみ参照を許可するという記事を見ました。 例えばヘテムルのサーバでhttp://abc.heteml.jp/def/index.htmlからの参照を許可するのに、.htaccess に以下のように書きました。 SetEnvIf Referer "http://abc.heteml.jp/def/index.html" allow_ref SetEnvIf Referer "^$" allow_ref order deny,allow deny from all allow from env=allow_ref .htaccess については全然分かっていません。記事に載っていた内容を少し変える程度なので、詳しく教えていただきたいと思い、投稿しました。jsファイルを見られないようにすることはできるのか?また、.htaccessの参考サイトなどあれば教えてください。

  • .htaccessについて教えてください。

    添付した画像のようなディレクトリ構造のサイトをつくりAndroidとiPhoneからのアクセスのみを許可するように (1)の.htaccessには SetEnvIf User-Agent "Android" ok1 SetEnvIf User-Agent "iPhone" ok2 order deny,allow deny from all allow from env=ok1 allow from env=ok2 と記述し、 http://adcde.heteml.jp/access/index.htmlからだけのjsファイルへのアクセスを許可しようと (2)の.htaccessには SetEnvIf Referer "^http://adcde\.heteml\.jp" ShowOK SetEnvIf Referer "^$" ShowOK <Files ~ "\.(js)$"> order deny,allow deny from all allow from env=ShowOK </Files> と記述しました。 PCからhttp://adcde.heteml.jp/accessとすると403 errorForbiddenとなり思ったようにいくのですが、PCからhttp://adcde.heteml.jp/access/js/test.jsとするとjavascriptの中身が表示されてしまいます。 AndroidとiPhone以外からのアクセスは(1)の.htaccessで拒否されるのでは?また、(2)の.htaccessでjsファイルへの直リンクを避けているのでは?と、うまくきません。.htaccessの記述や設置する場所、またヘテムルのサーバー側の原因かなどを教えていただきたく思い投稿しました。いろいろなサイトを調べながらの.htaccessの知識で、あまりよく分かっていません。詳しく教えていただければありがたいです。よろしくお願いします。

  • htaccess??

    .htaccessを設置したいのですが、.htaccessではいろいろな条件を拒否したり許可したりできますよね? たとえば、指定したホストからのアクセスを拒否したい、と同時に画像の直リンクを防ぎたい。という場合、どう表記すればいいのでしょうか? order allow,deny deny from all deny from xxxxx(拒否したいホスト) deny from xxxxx SetEnvIf REFERER "xxxxx(自サイトのURL )" Ref1↓ Order Deny,Allow↓ Deny from all↓ Allow from env=Ref1↓ AddHandler cgi-script htaccess とこんな感じでつらつらと並べていいものでしょうか? 初歩的な質問でごめんなさい。 良かったら教えてください。

  • .htaccessで複数設定するには?

    .htaccessを使って「特定のIPアドレス・ホストからのアクセスを拒否」と 「特定のリンクからのアクセスを拒否 」の2つを一緒に設定したいのですが、 どうすればいいのでしょうか? 単独での書き方はそれぞれ調べて分かったのですが、1つにまとめての記述方法が分かりません。 --------------------------------------------------- order allow,deny allow from all deny from ●● deny from ○○ deny from ▲▲ deny from △△ SetEnvIf REFERER "http://○○○.com/" Ref1 Order Allow,Deny Allow from all Deny from env=Ref --------------------------------------------------- といった感じに記述したものの、全く動作してくれません。 ご存知の方いらっしゃいましたら、宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • CGIへの直リンク防止方法について

    CGIへの直リンクの防止方法について質問です. MacOS X でWEBサーバーを構築しています.httpdはapacheです. 現在,http://www.aaa.jp/bbb/ccc.htmlからhttp://www.aaa.jp/cgi-bin/ccc.cgiへリンクさせています.ccc.htmlへは.htaccessを用いてパスワードによるアクセス制限を行っております. 今の設定ですと,cgiファイルへ直接リンクできてしまいます.そこで,直接リンクを防止するために,apache内に <Directory /library/var/cgi-bin> SetEnvIf Referer "^http://www\.aaa\.jp/ ref_ok order deny,allow deny from all allow from env=ref_ok </Directory> という記述をしました.しかしこの記述を加えるとcgiを実行できなくなってしまいます.cgi-biフォルダ内の.htaccessを有効にして,.htaccessで記述してもうまくいきません. この記述はhttp://www.shtml.jp/htaccess/referer.htmlを参考にしました. どこがおかしいところはありますでしょうか. ご教授お願いします.

  • .htaccessで直リンク規制

    会員制のページの入ってるフォルダを.htaccessで指定されたところ意外からのアクセス(直リンク)を規制しようと思って以下の内容のファイルを置きました SetEnvIf REFERER "OOO\.ddo\.jp/OOO\.html" Lilith Order Deny,Allow Deny from all Allow from env=Lilith しかしこれだと、許可したページ(上記の「OOO\.ddo\.jp/OOO\.html」の部分)からのアクセスでもはじいてしまってForbiddenのエラーが表示されてしまいます。どう対処すればいいのでしょうか?アドバイスお願いします。

  • .htaccessのアクセス制限のことで

    レンタルサーバーを利用してブログをやっております。 最近、海外からのスパムが多くなり、.htaccessを設置してアクセス制限をかけようかと思い.htaccessファイルを設置しましたらページそのものが見れなくなってしまいました。 order deny,allow deny from all allow from .jp SetEnvIf Referer "拒否ドメイン" deny_ref order allow,deny allow from all deny from env=deny_ref このような書き方は間違えているのでしょうか。 こちらのやりたい事としましては、海外からのアクセスを拒否、日本でも一部のドメインの拒否、一部のサイトからの直リンク拒否です。 どうそ、よろしくお願いします。

  • 携帯に対応可な.htaccessのアクセス制限(リファラ)について

    あるディレクトリ内のページを自サイト内のリンクだけ閲覧可にし、直リンクを避ける為に対象フォルダへ以下のような記述にて.htaccessを設置しました。 SetEnvIf Referer "^http://www\.○○○\.com" ref_ok SetEnvIf Referer "^http://○○○\.com" ref_ok order deny,allow deny from all allow from env=ref_ok PCアクセスはこれで大丈夫です。しかし、携帯ではドコモで自サイト内のリンクからもアクセスができません。一方でソフトバンクでは大丈夫でした。それ以外の携帯キャリアからは確認が取れていません。 もし、.htaccessで全ての携帯キャリアにも対応できる記述方法か別の手段で良い方法があれば教えてください。 以上、よろしくお願いします。

    • ベストアンサー
    • HTML
  • .htaccessについておしえてください。

    外部からjsファイルを直リンクなどで、見られないようにできないかと考えています。 .htaccessで特定のサイトからのみ参照を許可するという記事を見ました。 例えばヘテムルのサーバにあるhttp://abc.heteml.jp/def/index.htmlからだけhttp://abc.heteml.jp/def/js/test.jsに参照を許可するのに、.htaccess に以下のように書きました。 SetEnvIf Referer "^http://abc\.heteml\.jp" ok_url <Files ~ "\.(js)$"> order deny,allow deny from all allow from env=ok_url </Files> 直リンクしようとすると500 error Internal Server Errorとなります。しかし、index.htmlにjs/test.jsが効かなくなりました。 .htaccess については全然分かっていません。いろいろなサイトを見ながらやっているのですが、うまくいきません。詳しく教えていただきたいと思い、投稿しました。 よろしくお願いします。