• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:.htaccess 301リダイレクト)

.htaccess 301リダイレクト

このQ&Aのポイント
  • 現在運営しているホームページのURL正規化を.htaccessに記述しようとしています。
  • しかし、.htaccessファイル内のindex.htmlに関する部分を削除したところ、営業日カレンダーが表示されなくなってしまいました。
  • お知恵を頂きたいです。

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.2

カレンダープログラムのどこかに print "HTTP/1.0 403 Forbidden"; といった形で403ステータスを出力している所がありませんでしょうか。 あれば、その直前の判定処理がヒントになるのですが...

okwave-user
質問者

お礼

ご連絡有難う御座います。 ご指摘頂いた内容をもとにソース内を再度確認したのですが、該当または類似するようなエラー判定は見受けられませんでした。 的外れなのかもしれませんが「print」が記述されているのは以下でした。 ----------------------- sub print_html print "Content-type: text/html\n\n"; print $html; &print_html($html); -------------------------- ※その他のprintは年月日取得表示&休日・更新記録用ファイルの更新に関連するものでした。 最終的には、 カレンダーをiframeで表示させるのを諦めカレンダー表示用のボタン画像などを設置し、クリックアクション(window.open)でカレンダーを別窓で開くようにするか、ユーザビリティー重視でindex有り無しを諦める(現状のままm)か どちらかになるのかな~と思っております。 ご回答有難う御座いました。

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

同じリダイレクトの処理を入れて実験してみましたが、私の手元の環境では問題がありませんでした。 calendar.cgi の処理に何かあるのではないでしょうか。 例えば、リファラーが index.html じゃ無かったら 404エラーを出すようになっているとか。

okwave-user
質問者

補足

t_ohta 様 再びご回答頂きまして誠に有難う御座います。 また、お手数をお掛けして申し訳ありません。 ご回答を頂いて、エラーを確認してみましたところ「403」でした。 <確認した内容> ・問題のhtaccessファイルを設置しindex.htmlを表示 ⇒iframe部分に403エラー表示 ・問題のhtaccessファイルを設置しブラウザで直接CGIにアクセス ⇒403エラー ・index.html関連の記述を削除したhtaccessファイルを設置 ⇒indexのiframeも直接アクセスも◎ 仰るようにCGI側の問題のようです。 ※この時点でほぼ諦めムードなのですが・・・ 到底私のスキルでは無駄だと分かっていますが、CGIのソースを眺めてみました・・・が やはり???でした。 それらしいところといえば ------------------------- #HTML出力 sub print_html { local($html) = @_; &jcode'convert(*html, $output_code); print "Content-type: text/html\n\n"; print $html; } ------------------------- とか ------------------------- #カレンダー表示 sub show { local($html); local($calender); ------------------------ とか ------------------------ 数箇所にある #表示 &print_html($html); ------------------------ くらいしか。

関連するQ&A