🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

解決済

2回答

2969閲覧

ワードプレスの.htaccessが読み込まれているかどうか確認したい

mentanpinsan

総合スコア23

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

0クリップ

投稿2019/12/25 14:35

ワードプレスのパーマリンクを基本設定以外に変更すると変更後、新規投稿すらできなくなってしまいます。エラーメッセージは、

公開に失敗しました。 エラーメッセージ: 返答が正しい JSON レスポンスではありません

.htaccessはwp-adminnやwp-content、index.phpと同じ階層にあります。.htaccessの内容は、以下でした。

# BEGIN WordPress # `BEGIN WordPress` から `END WordPress` までのディレクティブ (行) は # 動的に生成され、WordPress フィルターによってのみ修正が可能です。 # これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress

この上に以下の様に付け足してもリダイレクトされなかったのですが、これは読み込めてないと判断してもいいのでしょうか

<IfModule mod_rewrite.c> Redirect permanent / http://yahoo.co.jp/ </IfModule> # BEGIN WordPress # `BEGIN WordPress` から `END WordPress` までのディレクティブ (行) は # 動的に生成され、WordPress フィルターによってのみ修正が可能です。 # これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress

/usr/lib64/httpd/modules/mod_rewrite.soは存在して /etc/httpd/conf/httpd.confには
LoadModule rewrite_module modules/mod_rewrite.soがなかったので1番下に付け加えました。
その後下記のようにしてhttpdをリスタートさせましたが全くダメでした。

<Directory /> # AllowOverride none AllowOverride All # Require all denied Require all granted </Directory>

conohaのvpsでOSはcentos7です。どうすればいいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

まず、<IfModule mod_rewrite.c>とか書くのを止めましょう。

何らかの理由で、mod_rewriteが読み込まれていない場合、
IfModuleがある・・・・・エラーが出ずにスキップされる。当然リライトもされない
IfModuleがない・・・・・エラーが出るので、異常がわかる

実システムで、自分でIfModuleを書くことが必要になるケースはまず無いでしょう。

投稿2019/12/26 00:53

otn

総合スコア85893

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mentanpinsan

2019/12/26 05:38

<IfModule mod_rewrite.c>削除して.htaccessは以下のようにしました Redirect permanent / http://yahoo.co.jp/ # BEGIN WordPress # `BEGIN WordPress` から `END WordPress` までのディレクティブ (行) は # 動的に生成され、WordPress フィルターによってのみ修正が可能です。 # これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress がリダイレクトされず、web上で出るエラーは Not Found The requested URL /****** was not found on this server.。 のまま変化なしです。
mentanpinsan

2019/12/27 04:59

<Directory />は AllowOverride Allにしていましたが<Directory "/var/www/html">のドキュメントルートのほうをAllowOverride Allにしていなかったのが原因でした。
guest

0

find / -name 'mod_rewrite.so'

これでmod_rewrite.soが見つかるでしょうか?

httpd.confの最後にでも以下を追記してapacheを再起動してみて下さい。

LoadModule rewrite_module modules/mod_rewrite.so

投稿2019/12/25 15:16

madone99

総合スコア1857

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mentanpinsan

2019/12/26 05:31

find / -name 'mod_rewrite.so'で下記が出力されます。 /usr/lib64/httpd/modules/mod_rewrite.so /etc/httpd/conf/httpd.confの最後の行にLoadModule rewrite_module modules/mod_rewrite.soを付け加えて systemctl restart httpdをしましたが、変化なしです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問