• ベストアンサー

htaccessを教えて下さい。

借りているサーバーが/で終わるURLだとディレクトリが丸見えになってしまいます。index.htmがあると読み込みますがshtmだとディレクトリを表示してしまいます。この場合2つの条件を記述したhtaccessはどう記述すればいいでしょうか?

  • CGI
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

参考URLのような方法もあります。

参考URL:
http://www.mikeneko.ne.jp/~lab/web/htaccess/directory.html#directory1

その他の回答 (1)

  • angband
  • ベストアンサー率51% (86/168)
回答No.1

ディレクトリ・インデックスを禁止するには .htaccess ------------------------ Options -Indexes ------------------------ と言う内容でWEBのトップ置いてはいかがでしょうか。 サーバ管理者が AllowOverrideディレクティブで Indexesの設定の上書きを許可していたら、これで OKのはずです。 許されていない場合は、面倒ですが、空っぽの html ファイルを各ディレクトリに入れておくのが一般的です。

関連するQ&A

  • Kagoya Internet Routing使用している方!

    (/)でアクセスしたときにindex.shtmを表示させるためDirectoryIndex index.cgi index.html index.shtml top.htm<BR>を記述(htaccess)したのですがそうしてしまうとindex.shtmがないディレクトリはindex.htmがあってもディレクトリが表示してしまいます。この場合どう記述すればいいでしょうか?

    • ベストアンサー
    • CGI
  • .htaccessで可能でしょうか?

    レンタルサーバーを借りています。 そこではhtaccessファイルが利用可能なのですが、 そのhtaccessファイルでの設定で 以下の事は可能でしょうか? 例えばドメイン名が(全角で記述します) xxx.co.jp で URLとして http://xxx.co.jp/ にアクセスした場合、 通常http://xxx.co.jp/index.html 等にアクセスし開くと思うのですが、 これを1階層下のディレクトリにある http://xxx.co.jp/aaa/index.html のファイルを開かせる事は可能でしょうか? 以下のように記述したのですが、 DirectoryIndex aaa/index.html http://xxx.co.jp/ でアクセスした際はOKなのですが、 http://xxx.co.jp/aaa/index.html に直接アクセスするとエラーになってしまいます。 記述の仕方が悪いのでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • htaccessについて

    先ほど、.htaccessにRedirect permanentを記述し、リダイレクトができるようになりました。 そこで、他で気になることがでてきました。 もともとルートディレクトリには、別件で.htaccessをアップロードしてましたので、もともと.htaccessには他の記述がありました。 Redirect permanentを追記しましたが、.htaccessに記述(指令)できる容量はあるでしょうか? また、.htaccessはルートディレクトリではない、他のディレクトリにアップロードするような場合はあるのでしょうか? さらに、.htaccessをルートディレクトリと他ディレクトリにアップロードして使う場合などありますか? もしかしたら、ありえない事を言っているかもしれませんが、よろしくお願いします。

    • ベストアンサー
    • HTML
  • httpd.confと.htaccessについて

    http://www.○○.jp/ とファイル名を指定せずにURLを打ち込んだ時にindex.htmlではなくindex.phpを 見に行くようにしたいので、 apacheのhttpd.confを設定したんですが、うまく.htaccessファイルを見に行ってくれません。 一応、下記のとおりAllowOverrideをAllにして、.htaccessを使用可能な状態にしたハズなのですが 何か足りない部分があるんでしょうか? ************************************* <Directory /> Options FollowSymLinks AllowOverride All </Directory> AccessFileName .htaccess ************************************* ちなみに.htaccessが使用可能でなくても、最初にindex.phpを見に行ってくれればOKなので 下記のようにhttpd.confに設定をしたのですが、やっぱりダメで 無条件でindex.htmlを見に行ってしまいます。 DirectoryIndex index.php index.html index.htm index.shtml index.cgi 何分、初心者なのでつまらない質問かもしれませんが 色々試みたんですが、お手上げ状態です。。 どなたかわかる方いらっしゃったらよろしくお願いいたします。

  • htaccessの上書き方法について

    昨日の質問の続きなのですが、 (昨日の質問:http://okwave.jp/qa/q8026821.html) 上記の質問で解決方法はわかったのですが、 私がCGIの触り方がわからないので、 自分なりに別の方法を探しました。 しかしうまくいかなかったので、また質問させてください。 ■質問 htaccessで「index.html」なしに設定したところ、 CGIがエラーを返すようなったので、 TOPディレクトリのhtaccess設定はそのままで、 CGIを使うページをまとめたディレクトリには 新たにhtaccessでindex.htmlありに、上書きできないかと考えました。 しかし結果はエラーでした。 どうにかして、特定のディレクトリにのみ、別のhtaccessを使って トップディレクトリに設置したhtaccessの設定を上書きする方法はないでしょうか。 ちなみに失敗した結果は下記の記述になります。 ▼成功したが、CGIページでエラーが出た記述 # URLの正規化(index.html無し) Options FollowSymLinks RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http://scinex-fw.co.jp/$1 [R=301,L] ▼下層ページで上書きできなかった記述 # URLの正規化(index.html有り) RewriteEngine on RewriteRule ^$ /index.html [R=301]

    • ベストアンサー
    • CGI
  • .htaccessの有効範囲について

    .htaccessの有効範囲について .htaccessの有効範囲について疑問があります。設置されたディレクトリと、そのディレクトリ以下の全てのディレクトリに対して有効であるとの認識です。 http://example.com/.htaccess これは、 (1)http://example.com/にアクセスしてサーバーの設定によりhttp://example.com/index.htmlが表示された場合 (2)http://example.com/index.htmlに直接アクセスした場合 (3)http://example.com/abc/xyz.htmlにアクセスした場合 この3つ全てに適用されますよね? 私はそうだと思っていたのですが、実際は(1)の場合しか効果を発揮していません。 ということは、最後が/で終わるアドレスにしか有効ではないのでしょうか? そう言われると、「設置された"ディレクトリ"と、そのディレクトリ以下全ての"ディレクトリ"に対して有効」という文言もそういうことかというように読めるのですが、腑に落ちません。 もちろん私の.htaccessの書き方に問題がある可能性もありますが、その可能性を除いた場合、効果範囲はどうなるものなのでしょうか。 ご回答宜しくお願いいたします。 ちなみに、.htaccessの内容はユーザーエージェントを用いた携帯からのアクセスのリダイレクトです。 先日この件で質問をさせていただきまして、更に調べたところ上記のように効果範囲が限定されていることに気付きました。

    • ベストアンサー
    • HTML
  • htaccessを使ってredirectさせたいのですが・・・

    今組んでいるプログラムで、「あるディレクトリにアクセスした時に別のCGIファイルへ自動的に転送させる」というような仕組みを使用したいと思っています。 使っているサーバはhtaccessが使えるので、htaccess内にRedirect関数を記述して転送させようとしているのですが、何度やっても自動転送がうまくできません。 具体的に言うと「index.html」にアクセスした時に「cgi-bin/index.cgi」というファイルに自動転送させたいのですが、index.htmlがそのまま表示されてしまうのです。 それで、index.htmlを削除してみると、今度は「403 Forbidden」エラーが起こってしまっています。 ちなみに、使っているサーバはWEBARENAです。 もうどうしたら解決するのか全然わからず困りはてています。 皆さまの知恵をお貸しください。よろしくお願い致します。

  • .htaccessの使い方

    .htaccessを使って、URLの正規化をしたいのですが、既に.htaccessファイルが別の目的でディレクトリ内に存在していますが、同時に動作をさせるにはどうしたらよろしいのでしょうか? 既にある.htaccessに、追加して目的のタグを書き込めば良いのでしょうか? ちなみにサーバーは、さくらレンタルサーバーです。

    • ベストアンサー
    • SEO
  • OSX Apacheで.htaccessを使うにはどうしたらいいですか?

    Web共有すると、ディレクトリにindex.htmlがないとファイル一覧表示されるので、「.htaccess」をつかって制御したいのですが、うまくいきません。 「.htaccess」ファイルには"Options -Indexes"と記述して"Macintosh HD/Library/WebServer/Documents/"ディレクトリに置いたのですがうまくいきません。他になにか設定が必要なのでしょうか?置いた場所が悪いのでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Mac
  • .htaccess Rewriteで携帯キャリア判別

    .htaccessのrewriteを使用して携帯キャリア判別をしています。 .htaccessの記述は、例えばdocomoの場合、 ************************** RewriteEngine On RewriteCond %{HTTP_USER_AGENT} DoCoMo RewriteRule ^$ http://www.hogehoge.com/i/index.html [R] ************************** として、http://www.hogehoge.com/にアクセスした場合、 /i/のディレクトリに移動するようにしています。 上記で.htaccessは正常に動いており、上述の様に http://www.hogehoge.com/のURLにimodeでアクセスすると確かに、 http://www.hogehoge.com/i/に移動しているのです。 ここからが質問なのですが、まったく同じ状況で、URLを http://www.hogehoge.com/index.html や、 http://www.hogehoge.com/content01.html http://www.hogehoge.com/content02.html など、ファイル名まで具体的に記述してアクセスすると、 /i/に移動せず、urlどおりのファイルがそのまま表示されてしまうのです。 希望としては、ファイル名にかかわらず、 http://www.hogehoge.com/ のディレクトリ内にimodeでアクセスした場合には、強制的に http://www.hogehoge.com/i/index.html に移動するようにしたいのです。 上述の.htaccessの記述でなにか、間違いがあるでしょうか? また、変更すべき点があるでしょうか? サイト内を色々と、見て回り、参考になるような事はしてみたのですが、いずれもうまくいかず、質問させて頂いています。 よろしく、ご教示下さい。

専門家に質問してみよう