WordPress ツール・ソフトウェア

WordPress でパーマリンク定義をデフォルトから変更すると記事が存在するのに NOT FOUND と出る。

この原因については、既にネット上にたくさんの記事があるが、それらの記事には書いてないちょっと変わったところで引っかかったのでメモ。

この例では、以下の URL が WordPress のルートになるように指定してある。
http://<hostanme>/wpc  

つまり、この例では Apache の httpd.conf で指定している DocumentRoot の下に、wpc というフォルダを作って、そこに wordpress の中身を展開している。

パーマリンクの設定、変更は、こちらの記事に書いてある通りに、WordPress の管理コンソールから行う。
それ以外にも実際に動かすには、WordPress 側と Apache 側に幾つかの設定をしてあげる必用がある。

1) WordPress のインストールディレクトリにある .htaccess には以下のようなエントリーが自動でできているはず。
この例の場合、WordPress は、wpc というディレクトリに導入してある。
この設定は、WordPress の管理画面から「パーマリンク」の設定を編集した時に自動的に書き込まれる。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wpc/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wpc/index.php [L]
</IfModule>

# END WordPress

2) Apache の httpd.conf の  mod_rewrite  の読み込みのラインのコメントを外す

LoadModule rewrite_module modules/mod_rewrite.so

3) Apache の httpd.conf の  AllowOverride All である事を確認する。
また、Directory の指定が WordPress を展開したディレクトリである事を確認する。

<Directory "C:/Documents and Settings/yuhki/My Documents/My Documents/WebPage/wpc">
    AllowOverride All
</Directory>

この例では、Apache の DocumentRoot (Webサーバーで / でアクセしした時に参照されるディレクトリ)は、「C:/Documents and Settings/yuhki/My Documents/My Documents/WebPage/」
その下に wpc というディレクトリを作って、wordpress を解凍した中身を配置した。

今回は、もともと wordpress というディレクトリで運用していたのを一旦、削除して、ディレクトリ名を wpc に変更したたために3)の設定が古い wordpress のディレクトリを指定したままになっていた。
そのため、1)、2) の設定ができているのにパーマリンクが上手く動かず、嵌ってしまった。。。

-WordPress, ツール・ソフトウェア

Copyright© エンジニアの何でもメモ帳 , 2022 All Rights Reserved.