質問です。
WEbサイトで「http://○○/index.html」の
「index」を非表示にしたいのですがうまくいきません。
「.htaccess」で
<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
Options -Indexes
order deny,allow
と入力しサーバにアップはしているのですが、
他のページからINDEXページに戻ってきた際に
indexが表示されています。
最初にWEBページにやってきた時は消えている時もあります。
ブックマークからサイトにくると表示されています。
どこか間違っている箇所があるか
教えて頂けると幸いです。
よろしくお願い致します。
No.4ベストアンサー
- 回答日時:
<Files ~ "^\.(htaccess|htpasswd)$"> .htaccessファイルと.htaccessファイルは
deny from all 誰からもダメだよ
</Files>
Options -Indexes Index を有効にしますよ
order deny,allow
と言う意味です。したがって書かなくても良い。デフォルトで^\.はdenny from allになっているはずです。
正規表現の意味はわかりますよね、
^ 行頭を表します。
\ 次に続く文字を文字通り解釈するようにエスケープします。
. 任意の文字を示します。エスケープされているので.(ドット)の文字を示します。
( | ) | はorですね。前者でなければ後者、この場合htaccessでなければhtapaawd
$ は行末を示します。
正規表現はとても大事な基礎知識ですから覚えておきましょう。
HTTPサーバーとブラウザの仕事、
たとえば、あるページ(http://hoge.com/abc/efg/hij.html)内にあるリンクが
<a href="../www/abc">だったとすると、
【ブラウザ】は!!!-----ブラウザですよ。
|--/abc
| |-- efg/
| |-- hij.html
そのファイルが
|--/abc
| |-- www/
| |-- abc
であると判断して、サーバーに
GET:/abc/www/abc
と要求します。
サーバーは、abcがファイルであれば、それを提供しますが、そのファイルが.htaccessなどで実行ファイルとして指定してあれば、処理を処理系に渡します。
もしそうでなければ、それがディレクトリかもしれないと開いてみます。もしディレクトリでしたら、内部にDirectoryIndexで指定してあるファイルがないか調査します。
[例]
<IfModule dir_module>
DirectoryIndex index.html index.htm index.cgi index.sh
</IfModule>
の場合は、index.htmlから順番に探します。それがあれば提供します。
それもなかった場合は、/abcを環境変数PATH_INFOに格納して、wwwについて同様の判断をします。
それもなかったら、PATHINFOに/www/abcを格納して、トップディレクトリを精査します。
このように、どのファイル(パスを含めて)を要求するかは、ブラウザの仕事であり、その要求にこたえるのはHTTPサーバーの仕事です。
ですから、redirectなどで遷移しない限り、要求したものと同じURLが表示されるはずです。
ブラウザが勝手にindex.htmlを付けることはありません。上の説明でわかるようにサーバーによるとindex.html ではなくて、index.htm だったり、index.cgi だったりindex.shだったり、INDEX.HTMだったりindex.phpだったり、ひょっとするとabcかもしれないのですから・・
単にリンクの末尾にindex.htmlないし/index.htmlをつけなければ、そのままサーバーのDirectoryIndexで指定したファイルが帰ってくるはずです。
ご回答ありがとうございます!
すごく丁寧に書いて頂けて感謝です!
なるほど~~。あまり意味はわからずにネットで見たまま使っていました....。
正規表現覚えておきます!
今回はindex.htmlの非表示と、index以下(第2階層以下全て)に
パスワード制限をかけるのが最終難関だったもので。
パスワード制限の質問も出していますので
よろしければお時間ある時に覗いてみて下さい。
http://oshiete.goo.ne.jp/qa/7721313.html
index非表示の件解決致しました!
index.htmlへのリンクを全て「http://◯◯.com/◯◯/」に差し替えました。
.htaccessは使わずでよかったんですね。
本当にありがとうございました!
No.6
- 回答日時:
>他のページからINDEXページに戻ってきた際に
>indexが表示されています。
.htaccessではなく、個々のHTMLファイルの問題だと思います。
その時のリンクの仕方を、<a href="/">というようにファイル名を書かないようにしてみてください。
No.5
- 回答日時:
補足です。
わすれてました。できれば、具体的ファイル名を指定しておくべきです。説明を読まれてわかるように、サーバーに負荷がかかります。第三者に名刺などで知らせる場合に限り、入力を簡単にするために書かないことがありますが、サイト内のリンクの場合には書くべきですし、書いたほうがスマートです。
またサイトのメンテナンスをするときに、新しいファイルをすべて.htmで作成して、DirectoryIndexを書き換えてテストするなどのとき困ります。
No.3
- 回答日時:
リンクにindex.htmlを書かなければいいだけです。
スラッシュで終われば、普通のサーバーはinde.htmlもしくはindex.phpを勝手に探して表示します。
<a href="index.html"> ⇒ <a href="./">
<a href="../index.html"> ⇒ <a href="../">
<a href="hoge/index.html"> ⇒ <a href="hoge/">
こんな感じで変更すればOK。
ご回答ありがとうございます!
リンクを「./」で記述するとうまくいきました!
ありがとうございます!
あと絶対パスで記述する場合ですが、
「http://○○○.com/」でよろしいでしょうか?
そう記述した場合、なぜかまたindex.htmlが
表示されるのですがどこか間違っていますでしょうか?
ちなみにhtaccessの記述は下記になります。
【htaccess記述内容】
<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
Options -Indexes
order deny,allow
もし間違いがあればご指導お願い致します!
よろしくお願い致します。
No.2
- 回答日時:
他のページからのリンク内のアドレスを「http://○○/index.html」にしてませんか?
「http://○○/」と省いておけば、「index.html」は付かないはずですよ。
ブックマークのアドレスも「index.html」がついてるかもしれませんね。
ちゃんと省略されて「http://○○/」となっているか確認してみてください。
ご回答ありがとうございます!
リンクは「http://○○○.com/」にしているのですが
なぜかindex.htmlが表示されてしまいます….。
なぜでしょうか...?
ちなみに非表示の記述としては
htaccessで下記を記述してindexファイルと同階層に
アップロードしているだけですがそれで間違いないでしょうか?
【htaccess記述内容】
<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
Options -Indexes
order deny,allow
もし間違いがあればご指導お願い致します!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) .htaccessファイルの修正がこれで問題ないかどうか 1 2022/04/21 08:42
- ホームページ作成・プログラミング Adobe DreamweaverでのサイトのFTP 2 2023/03/05 11:55
- その他(パソコン・スマホ・電化製品) Webページ印刷時にヘッダー・フッターをつけたい 1 2022/04/25 21:35
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- HTML・CSS リンクバナーのHTMLタグ。画像を変えたり、設置位置を変えるとバナー貼付け側はどう見える? 2 2023/02/01 12:01
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
- Chrome(クローム) Chromeのアドレスバーに履歴等を表示させないようにしたい 2 2022/09/08 14:20
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- HTML・CSS インクルードした要素がヘッダーにかぶってしまう 3 2022/09/13 17:35
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1つ下の階層のフォルダに相対...
-
.htmと.htmlの違い
-
URLの書き方
-
URLにファイル名のないサイトに...
-
XREA使用で作成したHTMLファイ...
-
1つのドメインHP内に2つ<inde...
-
サーバー内のフォルダにある写...
-
URLに「.html」の拡張子がなく...
-
ホームページアドレス
-
リンク先に日本語フォルダがあ...
-
複数のindex.htmlについて
-
Index of/ の事なんですが‥。
-
ホームページ制作で、どうペー...
-
index.htmlへのURLの統一
-
index.htmlファイルはどこに?
-
Webサーバーへアップロードした...
-
ホームページ製作時のフォルダ...
-
複数のindex.htmlを作ってもい...
-
Apacheで、indexの拡張子別に優...
-
Excelで、社外秘(閲覧のみ)と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1つ下の階層のフォルダに相対...
-
.htmと.htmlの違い
-
複数のindex.htmlを作ってもい...
-
URLに「.html」の拡張子がなく...
-
リンク先に日本語フォルダがあ...
-
XREA使用で作成したHTMLファイ...
-
htmlでリンクに勝手にindex.htm...
-
URLの.html省略について
-
URLの書き方
-
フォルダ内の最初のファイル名...
-
index.htmlファイルはどこに?
-
リンクのindex.html省略
-
ホームを index.html から inde...
-
フォルダにはダミーでもindex.h...
-
indexをつけないとどうなる?
-
htaccessを利用してurl正規化
-
イントラネットURLの登録方法
-
Application.OnTimeで引数付き...
-
HTMLの階層移動
-
Apacheで、indexの拡張子別に優...
おすすめ情報