- ベストアンサー
直リンクの制限
大きなデータサイズの画像を直リンクされて、サーバー会社から直リンク防止するよう通告が着ました。 「.htaccess」を設置しようと考えているのですが、思うように行きませんでした。 http://allabout.co.jp/gm/gc/23915/3/ ここを読んで同じようにしたいのですが、コピペすると「"^http://allabout\.co\.jp"」となってしまいます。 問題点は、「スラッシュの逆向き記号を入れたいのですが、コピペすると¥マークになる」ということです。 URLの「.(ドット)」は、どうやってスラッシュの逆向きで記述したらいいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
言われていることに矛盾がありますが、要は、「\」の入力だけだと思います。 パラメータをダブルクォーテーション(")でくくっていますが、「.」が制御文字になってしまうので、その前にエスケープ文字の「\」をつける必要があります。 また、バックスラッシュと\は同じものです。日本語Windowsで入力すると\になりますが、英語のWindowsで入力するとバックスラッシュになります。 >URLの「.(ドット)」は、どうやってスラッシュの逆向きで記述したらいいのでしょうか? 「.」とバックスラッシュは別物です。 「.」はキーボードにあります。バックスラッシュは上述したように「\」で良いです。 >「"^http://allabout\.co\.jp"」となってしまいます。 それで良いはずですが?
その他の回答 (1)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
サイトの説明を最後までしっかり読んでください。 まず、.と言う文字は、Windowsで言うところの*とよく似た、{あらゆる文字}を表す記号です。正規表現で .* と書けば、0文字以上のすべての文字となってしまいます。 もし、正規表現に "^http://allabout.co.jp" と記述すると、 http://allaboutAcoBjp にも http://allaboutQcoZjp にもマッチしてしまいます。そこで.をエスケープしなければなりませんから http://allabout\.co\.jp とかくのです。 もちろん、正規表現を展開しないように 'http://allabout.co.jp' と書けばよいのですが、そうすると行の先頭からを示す^が使えません。そのために "^http://allabout\.co\.jp" と記述するのです。逆スラッシュは日本語OSでは\と表示されますが、文字コードは逆スラッシュと同じものです。ですから、それは気にしなくて良いです。 あなたが示された 直リンクを防ぐには?…禁止と言っても無駄 [ホームページ作成] All About ( http://allabout.co.jp/gm/gc/23915/ ) は、4ページから成り立っています。この説明も4ページ目に詳しく記載されています。きちんと読んで、それでも理解できないときに質問されたら、ピンポイントで解決が得られるでしょう。 なお、正規表現はとても重要な知識ですから、覚えておきましょう。 正規表現 ( http://ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE ) CGI-Perl 基礎編 (その八) 正規表現、マッチパターン、置換演算子、変換演算子 - SAK Streets ( http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/pe_k08.htm ) テキストエディタで、特定のタグを選び出したり---m/<p>.*?</p>/m とか。すべてのHTML内のheader内を置換してしまうとか・・・s/<header>.+</header>/$newHeader/m; とか・・
お礼
ありがとうございます。