プリティーURLをONでアクセス不能

2018年7月13日 at 13:57

初心者です。バージョン 8.4.0、スタードメイン無料サーバー(Apacheバージョン2.4.6)にインストールしています。
管理画面よりプリティーURLの項目にチェックを入れたところ、「404 File Not Found」のエラーが出てアクセス不能に陥りました。

URLに手動で/index.phpを追加するとログイン画面には辿り着きますが、
ログインボタンをクリックした先でプリティーURLがアクティブになっているようで、その先には進めません。

.htaccessファイルは、プリティーURLをONにした際に生成されたと思われるものがあり、中身は

#####wpcomment_nojpdeny#####
SetEnvIf Request_URI ".*" WpCommentDeny
#####end:wpcomment_nojpdeny#####

となっていました。
似たような症状の投稿や使い方の項目を参照し、.htaccessの記述を書き換えましたが、
今度は「500 Internal Server Error」が出ましたので記述内容に問題があるかと思われます。

サーバー側でmod_rewriteが有効でない可能性もありますが、確認/設定方法が不明な為、
ひとまずプリティーURLをOFF(初期状態)に戻したいのですが、管理画面を介さず可能な方法はありますでしょうか。

何卒ご教示願います

タグ:

Re: プリティーURLをONでアクセス不能

2018年7月13日 at 14:04
お世話になります。
下記のような記述を追加するとエラーになるということでしょうか。

# -- concrete5 urls start --
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>
# -- concrete5 urls end --


一度、「<IfModule mod_rewrite.c>」と「</IfModule>」を削除して試してみてください。
それでもだめな場合はプリティ URL が使えないサーバーだと思います。

手動で戻す方法は
/application/config/generated_overrides/concrete.php

-----
'seo' => [
'url_rewriting' => true,
],
-----
の表記を

-----
'seo' => [
'url_rewriting' => false,
],
-----
に変えてアップロードすると、プリティー URL 機能をオフにできます。
 

Re: プリティーURLをONでアクセス不能

2018年7月13日 at 18:13
失礼します。

私も同じ状態で解決できずに困っています。

プリティーURLをONにすると、ログイン画面までは入れるのですが、いざログインすると「404File Not Found」と表示されてログインができなくなりました。

手動で戻す方法をもう少し詳しく教えてほしいです。

/application/config/generated_overrides/concrete.php

というのはどのようにアクセスしたらいいのしょうか。

使用しているサーバーはエックスサーバーです。

初心者ですいませんが、どうぞよろしくお願いいたします。
 

Re: Re: プリティーURLをONでアクセス不能

2018年7月13日 at 18:27
すいません!
解決できました。どうもありがとうございます。
 

Re: プリティーURLをONでアクセス不能

2018年7月13日 at 14:24
Katz Ueno様

お世話になります
早速のご回答有難うございます。

頂いた記述を含め、何パターンか試しましたがエラーが起きておりましたので、
仰る通り、プリティーURLが実行できないサーバーかと思われます。

教えて頂いた方法で、手動で元の状態に戻す事ができました。
誠に有難うございました
 

Re: プリティーURLをONでアクセス不能

2018年7月17日 at 15:27
追記です。

実は、concrete5のインストール先のディレクトリに不備(凡ミス)が判明し
(public_html内にpublic_htmlフォルダを作り、そこに置いていました…)、
もしや今回のエラーもその事が原因ではないかと考え、ファイルを丸ごとドメイン直下に移し、
再度プリティーURLの実行を試みました。

結果ですが、上手くいきました。
下記記述の.htaccessファイルを手動で作成/アップしたところ、プリティーURLは問題無く機能しました。

# -- concrete5 urls start --
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>
# -- concrete5 urls end --

という訳で、この度は大変お騒がせしました。
今回、手動での復旧方法を教えて頂いた事で、積極的な検証を行う事ができました。
重ねて御礼申し上げます