お世話になります。
前提・実現したいこと
wordpressの記事のパーマリンク設定を[基本]から[投稿名]に変更したい
環境情報(FW/ツールのバージョンなど)
【サーバー】IDCFクラウド
【OS】CentOS Linux release 7.4.1708 (Core)
【Apache】Apache/2.4.6 (CentOS)
【php】PHP Version 7.1.10
【wordpress】4.9.8
※ wordpressはドキュメントルート配下のblogディレクトリにインストールされています。
発生している問題・エラーメッセージ
[パーマリンク設定]を[基本]以外のどの値に変更しても、
変更後に記事へアクセスすると下記の通り404エラーが発生します。
Not Found The requested URL /blog/(設定したパーマリンク名)/ was not found on this server.```
mod_rewriteの設定と動作確認
調べたところ、ほとんどの記事でmod_rewriteが動作していないことが原因ということでしたので、それらの設定と動作確認を下記の通り行いましたが、現象は改善しませんでした。
■ .htaccessの設定
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /blog/ RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /blog/index.php [L] </IfModule> # END WordPress
■ httpd.confの設定
<Directory /> AllowOverride none Require all denied </Directory> <Directory "/var/www"> AllowOverride None Require all granted </Directory> <Directory "/var/www/html"> Options ExecCGI FollowSymLinks AllowOverride FileInfo AuthConfig Limit </Directory> <Directory "/var/www/html/blog"> AllowOverride All </Directory>
■ mod_rewriteの動作確認
.htaccessファイルを下記の通り書き換えると、正常にhttps://teratail.com/が表示されましたので、
mod_rewrite自体は正常に動作しているものと判断しております。
<IfModule mod_rewrite.c> RewriteEngine on RewriteBase /blog/ RewriteRule ^.*$ https://teratail.com/ [L] </IfModule>
その他に試したこと
https://teratail.com/questions/140913
上記のURLに同様の質問がございましたので、
リンク先のご回答を参考に、.htaccessファイルに下記を追記してみました。
RewriteCond %{REQUEST_URI} /.* RewriteCond %{REQUEST_URI} !^/index.php RewriteRule .* /blog/index.php%{REQUEST_URI} [P,L]
上記を記述後に確認したところ、投稿記事の404エラーは変わらず。
また、それとは別に、管理画面の各ページへアクセスすると下記のエラーが出力されるようになりました。
Forbidden You don't have permission to access /blog/wp-admin/post.php on this server.
現在は、この記述は削除しております。
以上、何とぞ宜しくお願い申し上げます。
あなたの回答
tips
プレビュー