プリティーURLオンにしてもHomeページだけindex.phpを付けないとアクセスできません。

バージョンは、9.4.1です。
テーマを作成し、MAMP上で5〜6ページのサイトを作りました。
MAMP上では問題なく稼働していましたが、
インターネット上にアップロードし、システム設定にあるプリティーURLをオンにしたところ、Homeページのみアクセスできません。他ページはすべてindex.phpなしでアクセスできます。Homeページはindex.phpを付けないとアクセスできません。
Homeもindex.phpなしでアクセスできるようにならないでしょうか。

少し前、ver.9.3.9で、やはり5〜6ページの別サイトを作り、同様にインターネット上にアップしましたが、こちらは問題なく動いています。

サーバーは、さくらインターネットのスタンダートです。
phpは、8になっています。

なおMAMP上はプリティーURLがオフですが、以下のようにアドレスを入れるとHomeページに行けます。
/localhost/○○○/
しかしリモート上では同様にすると、「ページが見つからない」と言われます。
xxxxxx.jp/○○○/index.php とするとアクセスできますが、他ページに移動して、Homeへのリンクをクリックすると、index.phpが取れているので、やはり「ページが見つからない」になります。

ちなみに、カノニカルは現状、入れてありません。

この状況を直すことはできないでしょうか。

同サイトは、最初に作った際にこの不具合があったので、再度、ゼロから(ver.9.4.1のダウンロードからすべて)作り直してみましたが(アカウントやデータベース等も新しく作って)、全く同じ症状です。

よろしくお願いします。

index.php の隣に index.html はありますか?
なければ、 .htaccess の内容を共有していただくとみなさんがヘルプしやすいと思います。

お返事ありがとうございます。
index.phpの隣にindex.htmlはありません。
すでにCMSではないサイトが動いていますので、そのindex.htmlは、ConcreteCMSの入ったディレクトリより上にあります。

.htaccessの内容を以下に置きます。

– concrete urls start –

RewriteEngine On RewriteBase /ybbc/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME}/index.html !-f RewriteCond %{REQUEST_FILENAME}/index.php !-f RewriteRule . index.php [L] # -- concrete urls end --

ちなみに、.htaccessの最後の行にある「RewriteRule . index.php [L]」を以下に変更して試してみましたが、効果はありませんでした。
RewriteRule ^(.*)$ index.php/$1 [L]

なおサイトのドメインは独自のものではなく、さくらインターネット上でのサブドメイン(xxxxxx.sakura.ne.jp)ですが、これは関係するのでしょうか。

よろしくお願いします。

過去に似たような投稿があるので参考にしてみてください

ありがとうございます。
教えたいただいたページやそこからのリンク先など拝見し、キャッシュ、.htaccessその他もいじってみましたが、うまくいきませんでした。

サイト自体、少ないページ数ですので、一度、環境を変えて作り直してみたいと思います。
うまくいきましたら、成功例として共有させていただければと思います。

いろいろ教えていただきありがとうございました。

プリティーURLをオンにしても、Homeにだけアクセスできず、index.phpを付けるとアクセスできる(他ページはindex.phpを付けずにアクセス可能)という問題について質問させていただいたのですが、なんとか解決策が見つかりましたのでご報告し、共有させていただきます。

結果的には、ConcreteCMSの問題ではなく、さくらインターネットサーバー上(最上層)に置いた.htaccessの問題でした。
今回使っていたサーバーは、かなり前から契約しており、古くからHTMLでのサイトを稼働させていました。
当時、404エラーになった際、ディレクトリが丸見えになっていましたので、「errmsg.html」ファイルを置いて、.htaccessに記述するとよいという情報があり、それに沿っていました。
ただ、.htaccessの書き方に問題があったようで、今回の不具合はそれが原因でした。

プリティーURLオンで、Homeにアクセスできない状態での.htaccessは以下でした。

DirectoryIndex index.html /errmsg.html

これを以下のように修正したところ、めでたくHomeにアクセスできるようになりました。

DirectoryIndex index.html index.php /errmsg.html

大変お騒がせしましたが、なんとか不具合が解消し、ホッとしております。
もし同じような不具合に遭遇された方がいらっしゃいましたら、参考になればと思い、共有させていただきます。

ありがとうございました。

1 Like