No.4584, No.4583, No.4582, No.4581, No.4580, No.4579, No.4578[7件]

XREAにて運用していたてがろぐサイトをSSL化するため作業中なのですが、
共有SSLを使ったhttpsの方から投稿や管理画面で何かすると、以下のエラーメッセージが出るようになりました。(IDとサーバー名は伏せてます)
CGIの設置ドメインとは異なる場所からデータが送信されました。リクエストは受け付けられませんでした。
(データ送信元: //ss1.xrea.com /
実行位置: //ID.サーバー名.xrea.com)
XREAの共有SSLのURLは
https://ss1.xrea.com/ID.サーバー名.xrea.com/
非SSLの本体部分?は
http://ID.サーバー名.xrea.com/
にあります。
そのためこういうドメイン違いのエラーが出るのかなと思い、httpの方から試すと投稿や設定は問題なく(今まで非SSLで運用していた通りに)できました。
この状況だと、常にhttpの方から投稿や管理作業をするしか選択肢はないですか?
QUICKPOSTを常用していたので、もしhttpsの方からそのままQUICKPOSTで投稿できる方法があったら嬉しいのですが…
(それか、閲覧者に向けてはhttpsの方を公開しておいて、自分は今まで通りhttpの方を使い続けるのが一番丸いですかね?)
FAQの「fumycts.plを書き換える」で解決できるケースでしょうか?
https://www.nishishi.com/cgi/tegalog/faq/#differentpla...
あまりおすすめではないと書かれている点について、よければ詳しく教えていただけませんか?
何か見落としてる設定とかあったらすみませんがご指摘ください。
よろしくお願いします。
310日前(金 08:42:45)

4578です。詳しく解説していただきありがとうございます。
DirectoryIndexはそういう仕組みになってるんですね。index.***が複数ある場合はどうなるの?みたいな疑問も解消しました。
(実際には名前が「index」であるかどうかが重要でなく、あくまで)DirectoryIndexで指定されたファイル名と記述順によって表示される対象が決まる、って感じなんですね。
403エラーについては考えも及びませんでした。質問してなかったらここで躓いていたと思います。ありがとうございます。
てがろぐのファイル群とURLはできるだけ触らずに違うページを表示できないかと考えていたので、にししさんに教えていただいたとおりに.htaccessを編集すれば解決しそうです。ありがとうございます!
🍕 #感謝 310日前(金 00:14:32)

🍕Re:4578◆これは、No.4579さんがご説明下さった通りです。.htaccessファイルに DirectoryIndex tegalog.cgi とだけ書いた場合は、index.html とか index.htm とか index.php とかが同階層にあっても(ファイル名を省略したアクセスでは) tegalog.cgi だけしか表示されません。この場合、その階層から tegalog.cgi を削除しても、(ファイル名を省略したアクセスでは)403 Forbidden エラーになるかファイル一覧が出るかするだけで、(たとえその階層にindex.htmlが存在していても)index.htmlが表示に使われることはありません。
一般的なサーバでは「 index.html があればそれを表示し、なくても index.htm があればそれを表示し、それもなくても index.cgi があればそれを表示し……」みたいな感じになっていますが、それは、
DirectoryIndex index.html index.htm index.cgi index.php
……という感じのデフォルト設定になっているためです。(順序はこうではないかも。他にもindex.shtmlとかもっと多数含まれているかもしれません。)
なのでもし、てがろぐ設置ディレクトリの .htaccess ファイルに、
DirectoryIndex tegalog.cgi index.html
……と2つのファイル名を列挙しておいた場合は、(ファイル名を省略したアクセス時には)「 tegalog.cgi があればそれを表示し、ない場合には、index.html があればそれを表示する」というような動作になります。
ファイルが探される順番は、DirectoryIndex に並べた順番です。左側から順番にファイルを探して、最初に見つかったファイルが表示されるわけです。どれも見つからなかったら、403 Forbidden エラー(またはファイル一覧)が表示されます。
したがって、てがろぐ設置ディレクトリの .htaccess ファイルに、以下の順序で書いた場合は、
DirectoryIndex index.html tegalog.cgi
ファイル名を省略したアクセス時には、もし index.html ファイルがあれば(たとえ同時に tegalog.cgiも存在していても)index.htmlの方が表示されます。
🍕Re:4579◆サポートをどうもありがとうございます!(╹◡╹)ノ
310日前(木 18:53:08) 回答/返信

にししさんではないですが試してみたのでご報告です
DirectoryIndexとはディレクトリにファイル指定無しのアクセスがあった場合に、どのファイルを表示するかを設定するものなので
てがろぐおすすめの.htaccessを置いたままだと「/」で終わるURLでアクセスしたときはtegalog.cgiが表示され、index.htmlを表示したい場合は「https://URL/index.html」というふうにindex.htmlまでURLに含めないとアクセスできません。
「https://URL/」でアクセスしたときにindex.htmlを表示させたい場合は.htaccessの「DirectoryIndex tegalog.cgi」という記述を削除してください。 310日前(木 17:51:53)

#質問 です。
>ファイル名をわざわざ index.cgi に変更しなくても、「tegalog.cgi」を省略して「/」で終わるURLでアクセスできるようにする方法
リンク
.htaccessでこの方法で運用しています。
ここへ同じ階層に新たにindex.htmlを作成した場合は、どういう挙動になるんでしょうか?
ちょっと調べたのですが検索ワードが上手くないのか、いまいちわかりませんでした。よろしくお願いします。 311日前(木 04:07:16)