サーバーをあまりいじったことがないので、
勉強がてらwordpressでブログを作成しました。
パーマリンクの設定後、
記事のページに飛ぶと404になってしまい、
少しハマったのでメモがてら設定した内容をまとめます。
まとめ
- mod_rewriteモジュールを有効にする必要がある
パーマネントリンクで設定したurlからwordpressが記事を在りかを探すため。
-
.htaccess
を編集(なければ作成)する
wordpressが記事の在りかを探すための具体的な内容を記述するため。
環境
- さくらVPS
- CentOS
cat /etc/redhat-release
CentOS release 6.7 (Final)
- apatch
httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: Mar 22 2016 19:03:53
- url
手順
パーマリンクの設定@wordpress
割愛
mod_rewriteを有効にする
/etc/httpd/conf/
httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
上記を追加もしくはコメントアウトを外す。
.htaccess
を読み込めるようにする
/etc/httpd/conf/
httpd.conf
<Directory "/var/www/html/blog/wordpress">
AllowOverride All
</Directory>
httpd.conf```が全体の設定、
```.htaccess```が個別ディレクトリの設定を制御しており、
```AllowOverride All```を記載しないと、
```httpd.conf```の設定が優先されてしまい、
```.htaccess```がそもそも読み込まれない。
ちなみに```AllowOverride All```になっていなかったので、
ぼくはハマりました。
#### ```.htaccess```を編集
BEGIN WordPress
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
END WordPress
* RewriteBase の初期値は / になっています
#### 設定を反映
```service httpd restart```
これでパーマリンクが反映された個別記事もきちんと表示されるはず。