LoginSignup
5
7

More than 5 years have passed since last update.

パーマリンクの設定 / 404エラー対応メモ

Last updated at Posted at 2016-04-30

サーバーをあまりいじったことがないので、
勉強がてらwordpressでブログを作成しました。

パーマリンクの設定後、
記事のページに飛ぶと404になってしまい、
少しハマったのでメモがてら設定した内容をまとめます。

まとめ

  • mod_rewriteモジュールを有効にする必要がある

パーマネントリンクで設定したurlからwordpressが記事を在りかを探すため。

  • .htaccessを編集(なければ作成)する

wordpressが記事の在りかを探すための具体的な内容を記述するため。

動作要件
http://wpdocs.osdn.jp/%E3%83%91%E3%83%BC%E3%83%9E%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9#mod_rewrite:_.22Pretty_.E3.83.91.E3.83.BC.E3.83.9E.E3.83.AA.E3.83.B3.E3.82.AF.22

環境

  • さくら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```



これでパーマリンクが反映された個別記事もきちんと表示されるはず。
5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7