前提・実現したいこと
1.httpからのアクセスをhttpsへ誘導する
2.wwwなしからのアクセスをwwwへ誘導する
3.index.htmlからのアクセスをindex.html無しへ誘導する
発生している問題・エラーメッセージ
A)ロリポップサーバーの .htaccessの書き換えにて、 上記の3つを行うが、404や5xx系エラーになる。
B)index.htmlと同じ階層にあるtest.htmlなどから<a href="./index.html">top</a>へのリンクを貼り付けると、
本サーバーからtopボタンを押したとき、ロリポップのドメインように作ったディレクトリ名フォルダが2回表示されるようになり、必ず404になる。
たとえば、本来https://www.doremi.com/index.htmlが表示されるべきところ、topをクリックすると、
https://www.doremi.com/doremi/doremi/
↑ロリポップサーバーの直下に作ったフォルダ名(ドメイン毎フォルダ)が勝手に2つディレクトリとして表示される現象が発生します。当然doremiの下にdoremiディレクトリはないので、エラー表示になります。
htaccess
該当のソースコード
RewriteEngine On **# index.html無しのURLに統一** RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ https://www.doremi.com/$1 [R=301,L] RewriteEngine On **# www有りのURLに統一** RewriteCond %{HTTP_HOST} ^doremi.com RewriteRule ^(.*) https//www.doremi.com/$1 [R=301,L] RewriteEngine On # httpをhttpsに統一 RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
試したこと
ロリポップのマニュアルに従い、
1.「htaccessのパーミッション(属性)を「604」に変更します。 」を644→604へ変更済みです
2.コードの一番最後に改行を入れています。
のほか、自分で
3.ブラウザの更新、キャッシュのクリア、ファイルの上書きを試しました。
以上です。
参照元
ロリポップヘルプより https://lolipop.jp/manual/hp/htaccess-08/ を参考にして記載しました。
###実施環境
iMAC Catalina:10.15.6
Google Chrome: 89.0.4389.82(Official Build)
ロリポップ上に用意されている ブラウザ内のFTPツールをつかってブラウザで.htaccessを開き、直接ファイルを書き換えています。
###【追記3.16.21:07】アドバイスありがとうございます。
※全角のSを修正しました
※コロンが抜けているのを修正しました
→質問1.httpからhttpsへの切り替え
→成功しましたありがとうございます
→質問2.www無し接続
→失敗します。https://www.doremi.com/root/
へ接続され404 notfoundとなります。原因がわかりません。
→質問3.まだ動作がおかしいです。各ページからリンクされている
<a href="./index.html">をクリックすると今、自分がいるところの上のフォルダつまりrootフォルダを表示させて404になります。(質問2に起因している気がします。)
index.html,test1~3.html で同様の現象が発生し、
リンクをクリックするとhttps://www.doremi.com/root/
というURLになり、404Error NotFoundになります。
indexとtestはいずれもrootの直下のフォルダです。
root- index.html
-test1.html
-test2.html
-test3.html
RewriteEngine On RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ https://www.doremi.com/$1 [R=301,L] RewriteEngine On RewriteCond %{HTTP_HOST} ^doremi.com.com RewriteRule ^(.*) https://www.doremi.com/$1 [R=301,L] RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
###解決しました
解決時の設定画面を記録のために載せておきます。
リンク
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/16 15:41
2021/03/16 15:52 編集
2021/03/16 16:21
2021/03/17 09:57