• 締切済み

サイトトップにアクセス制限をかけるとおかしい。

サイトで、多言語からのアクセスを全てはじきたいと考えています。そこで、.htaccessを以下のように用意しました。 SetEnvIf Accept-Language ja hoge Order Deny,Allow Deny from all Allow from env=hoge 言語ははテストのためja→frに変更。 これをトップではなく/test/等のフォルダに置いたら、そのフォルダ以下へのアクセスは403ページが表示されて、正常にはじくことができます。 ところが、トップページ(ドキュメントルート)に置くと、403ページではなく、apache未設定時に表示される「Red Hat Enterprise Linux Test Page(この画面です>http://questions.panda.org/)」がされてしまいます。はじけはするのですが、403ページを表示させたいと思っています。 ErrorDcument 403 ~も効かないので困っています。 apache等の設定ではないのかと思うのですが、何をどうすればよいのか検討もつきません。 よろしくお願いします。 環境は OS:Red Hat Enterprise Linux ES (Version 4) Apache:httpd-2.0.52-22ent です。 バーチャルホストを利用して、1つのユーザディレクトリにドキュメントルートを2つ割り当てています。 /home/hogehoge/public_html/main /home/hogehoge/public_html/sub メインにドメインhttp://www.aaa.com/ サブにサブドメインhttp://sub.aaa.com/ を割り当てています。

みんなの回答

回答No.1

.htaccessがちゃんと効いてますか? .htaccessに test と書いてアクセスしてみてください 500エラーにならないようなら.htaccess自体が無効になってます。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2182567

umigumo
質問者

補足

ご回答ありがとうございます。 質問時に記載したとおりhtaccessは効いています。 その後わかったことは、 http://www.hogehoge.com/index.html にアクセスすると問題なく403エラーがでますが、 http://www.hogehoge.com/ にアクセスするとエラーがでないという状況でした。 そこでさらに調べたら、 /etc/httpd/conf.d/welcome.conf というファイルがそのような挙動をさせているとわかりました。下記URLに従いファイル内をコメントアウトしたところ、解決いたしました。 http://gapo.zive.net/fedoracoreapache/right.html

関連するQ&A

  • 独自ドメインでのアクセス制限

    現在、一つのロリポップサーバーでの独自ドメインでサイトとブログを運営しています。 ・サイト:ttp://www.Example.com(主) ・ブログ:ttp://blog.Example.com(サブドメイン) .htaccessで特定のIPからのアクセス制限をしたいと思っているんですが、下記のように記載しても制限されません。(試しに自分のIPも入れて試みました。) order allow,deny allow from all deny from xxx/0 deny from yyy/0 deny from zzz/0 ErrorDocument 403 403.html 主にサブドメインのブログのアクセス制限をしたいのですがサブドメインディレクトリに置いて.htaccessに名前を変更しても制限されません。 また、403.htmlも.htaccessと同じサブドメインディレクトリに置いてあります。 何か間違っている事があるでしょうか??

  • .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によるアクセス制限で許可したドメインのうち一部のみを拒否したい

    荒らし対策で.htaccesによるアクセス制限を行っています。 現在は以下のように.jpと.net以外からのアクセスを制限しています。 order deny,allow deny from all allow from .jp allow from .net しかし、hogehoge.jpという特定のドメインからの荒らしが発生したため、 .jpでもhogehoge.jpだけはアクセスを拒否したいと考えていますが、記述方法がわかりません。 どうかよろしくお願いします。

    • ベストアンサー
    • HTML
  • .htaccessで、http://localhost/のみアクセス制限

    Order deny,allow Deny from All Allow from localhost 127.0.0.1 にて、内線以外からのアクセスを拒否しているのですが、 http://localhost/のみ見れなくするのは可能ですか? http://localhost/に.htaccessを置いていて、 http://localhost/test/index.htmlなどにはアクセス可能にしたいのです。 http://localhost/⇒アクセス不可 http://localhost/hogehoge/index.html⇒アクセス可 http://localhost/test/about/⇒アクセス可

    • ベストアンサー
    • HTML
  • CGIの設定

    いつもお世話になっております。 各バーチャルドメイン内でCGIを動作させるためにApacheの設定を したのですが、「ページが表示されません」と出てしまいます。 (バーチャルドメインの設定も完了していて、HTMLファイル、PHPファイルは正常に動作しています。) よろしくご教示お願いいたします。 /etc/httpd/conf/httpd.conf -------------------------------------------------- ScriptAliasMatch /~(..*)/cgi-bin/(.*) /home/$1/cgi-bin/$2 <Directory "/home/*/cgi-bin"> AllowOverride None # Options None Options ExecCGI Order allow,deny Allow from all </Directory> (1) ↓にファイルをアップロード   パーミッションは「755」に設定してあります。   /home/ユーザ名/cgi-bin/count.cgi (2) ブラウザから↓のURLでアクセス   http://バーチャルドメイン/cgi-bin/count.cgi <環境> Red Hat Enterprise Linux 5 Apache:2.2.3

  • htaccsessでのアクセス制限がサイト全体で有効になってしまう

    htaccsessでのベーシック認証のパスワード要求ダイアログがサイト全体ででてしまいます。 下記のようにベーシック認証のファイルを作りました。 http://www.hogehoge.com/member/←ここのフォルダに制限をかけたいので、 ---------------------------- AuthType BASIC AuthUserFile /ここにフルパス/www.hogehoge.com/public_html/member/.htpasswd AuthGroupFile /dev/null AuthName "protect" require valid-user ---------------------------- ※パスワードファイルも制作済み。 http://www.hogehoge.com/  └ member/    └ .htaccsess    └ .htpasswd IDとパスワードを入力するようにダイアログがでるようになり、 パスワードも設定したもので入室できるようにはなったのですが、 サイト全体でパスワード要求のダイアログがでてしまいます。 (http://www.hogehoge.com/においてある全てのファイル) 「member」の階層はパスを入れないと見れないですが、それ以外ででるダイアログは無視すればページを表示することが可能な状態です。 「member」以外でもでてしまうダイアログをでないようにしたいのですが、どうすればよいでしょうか? 原因かはわからないのですが、状況報告のため記述します。 http://www.hogehoge.com/の直下には下記のような別のアクセス制限用のhtaccessを置いています。 ------------------------------- SetEnvIf User-Agent "msnbot" shutout SetEnvIf Referer "http://search.yahoo.co.jp/" shutout order Allow,Deny Allow from all Deny from env=shutout ご回答どうぞよろしくお願いいたします。

  • apache2.2 の設定に関して

    過去ににはlinux で apache1.3x の頃だと思いますが、apache の設定を行ったことがあります。 今回さくらインターネットと契約して、各種サーバの設定をコンソール上から行うことになりました。OS が FreeBSD (バージョンは未確認、確認方法が不明な為)ですが、apche の基本的設定は同じだと理解しました。 apache のバージョンが、2.2 になっていますが、基本的設定は httpd.conf で良いことは調べて確認しました。 現状(契約した後)では、取得した独自ドメインで確認ページを見れることは確認しています。 http://www.hogehoge.jp/ 独自ドメインでのアクセスは OK でした。 httpd.conf を確認して、DocumentRoot "/home/htdocs" も確認しました。 次に個々のユーザが、public_html でホームページを公開出来るように、httpd.conf に以下の情報を追加しました。 <Directory "/home/*/public_html"> Options FollowSymLinks ExecCGI Includes AllowOverride All Order allow,deny Allow from all </Directory> と記載して、apache を再起動させ、 http://www.hogehoge.jp/~hoge/index.html にアクセスすると。 Not Found The requested URL /~hoge/index.html was not found on this server. と出ます。 httpd.conf には他には何も追記していません。他にも何処か設定する項目が有るのでしょうか、アドバイスを頂ければ幸いです。 ユーザ hoge は、ディレクトリ public_html を作成して、index.html は置いてあります。 # hogehoge.jp は架空のドメインで、取得したドメインではありません。

  • Red Hat Enterprise Linux Test Page

    はじめまして。 おとといサーバーのメンテナンスが行われてから、ホームページが表示されなくなりました・・・ 表示しようとすると「Red Hat Enterprise Linux Test Page」が表示されます。メンテナンスの時間帯はとっくに過ぎているので原因が分かりません。 Red Hat Enterprise Linux Test Pageのページを翻訳ソフトを使って訳しましたが、初心者のため理解できずです・・・ 何かお分かりの方、情報をお願いいたします。

  • SSHのアクセス制限が上手くいきません

    一通り試して上手くいかず・・、ぜひ教えてください。 <(_ _)> いろんな所に書いてあるSSHのアクセス制限が、なぜか上手くいきません。 特定の固定IPにのみ接続を許可するため、以下の設定をしています。 ●hosts.deny  sshd : ALL ●hosts.allow ALL : XX.XX.XX.XXX(固定IPアドレス) 設定後、service sshd reloadをしましたが、 外部のダイヤルアップでつないだPCからアッサリアクセスできています。 参考にしたのは以下のページです。 http://memo.blogdns.net/hostsaccess.html OSは、Red Hat Linux release 9です。 何卒アドバイスよろしくお願いいたします。

  • IPアドレスでアクセスを制限するには?

    環境は、OSはLinux Fedora10で、Apacheは2.2.10です。 「/var/log/httpd/error_log」に大量の(数秒毎)の不正と思えるアクセスが記録され、 そのIPアドレスからのアクセスを制限したいと考えています。 「/etc/httpd/conf/httpd.conf」には以下のように書いています。 <Directory "/var/www/hogehoge"> Order allow,deny Allow from all Deny from 123.45.67.89 123.45.67.90 234.45.67.89 111.222.33.44 ... </Directory> 「Deny from」の行のIPアドレスが多いせいか、HTTPDを再起動しようとすると、エラーが発生し失敗してしまいます。 (IPアドレスは1000件以上あります。IPアドレスを少なくすると、何も問題なくHTTPDは起動できます。) できれば、「Deny from」の行のIPアドレスを外部ファイルから呼び出したり、変数に定義してすっきりさせたりしたいのですが、どのようにすればよいのでしょうか。 (他にもよい方法があったら、教えてください。) よろしくお願い致します。