WordPressでパーマリンクの設定をした後に、投稿した記事などがエラーになるので、解消します。
結構設定するところが多いのでまとめていきます。
yumでのディレクトリ構成。参考 → ディレクトリ構成
環境
OS/ミドルウェア | バージョン |
---|---|
CentOS | 7.2.1511 |
Apache | 2.4.6 |
PHP | 7.0.28 |
MySQL | 5.7.21 |
WordPress | 4.9.4 |
パーマリンクの設定
WordPressの管理画面の「設定」→「パーマリンクの設定」
カスタム構造にチェックをし、「/%category%/%postname%/」を設定して、[変更を保存]をクリックします。
これで、パーマリンクの設定は終了しました。ですが、投稿した記事とかをクリックするとエラーがでます。
なので、設定をしていきます。
.htaccessの設定
ファイルの場所:/wordpress/.htaccess
.htaccessファイルですが…
1.WordPressをインストールされた時点で作成されてる
2.パーマリンクの設定をすると作成されてる
3.自分で作成
私の場合は、自分で作成しました。
[ファイルの作成]
1 |
$ touch .htaccess |
[ファイルの修正]
1 |
$ vi .htaccess |
[ファイルの中身]
1 2 3 4 5 6 7 8 9 10 11 |
# BEGIN 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 |
mod_rewrite.so インストール確認
1 |
$ ls -al /etc/httpd/modules/mod_rewrite.so |
[実行結果]
1 |
-rwxr-xr-x 1 root root 69056 Oct 20 05:40 /etc/httpd/modules/mod_rewrite.so |
mod_rewrite.so をApache設定ファイルからロードされているか確認
1 |
$ sudo vi /etc/httpd/conf/httpd.conf |
[ファイルの中身]
1 2 3 4 5 6 7 8 9 |
<Directory /> # AllowOverride none // 修正 AllowOverride All # Require all denied </Directory> // 追加 LoadModule rewrite_module modules/mod_rewrite.so |
「AllowOverride All」になっていることを確認。なっていない場合「AllowOverride none」→「AllowOverride All」変更
「LoadModule rewrite_module modules/mod_rewrite.so」コメントアウトだったら解除、ない場合は追加。
バーチャルホストの設定
[ファイルの編集]
1 |
$ sudo vi /etc/httpd/conf.d/vhost.conf |
[ファイルの中身]
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<VirtualHost *:80> ServerAdmin メールアドレス DocumentRoot /var/www/html/プロジェクト名 // お名前.comで取得したドメイン ServerName blog.grow-up-factory.com ErrorLog /var/log/httpd/サイト名_error_log CustomLog /var/log/httpd/サイト名_access_log combined <Directory "/var/www/html/プロジェクト名"> Options FollowSymLinks Allow from all AllowOverride all </Directory> </VirtualHost> |
[Apacheの再起動]
1 |
$ sudo systemctl restart httpd.service |
以上で設定が終了です。それではサイトにいき確認しましょう。