Apache2 × WordPressでパーマリンクを設定すると404になるのを直す

サーバー

どうもこんにちはWP鯖を破壊して3週間サーバーを落とした鯖主 (256_daisuke) です。

経緯

proxmoxでサーバーを運営してたんですけどシステムを破壊しちゃってとりあえずデータだけ救出してクラスタを作り直したんですよ ですけどWP鯖は救出できなかった。 ファイルサーバーのバックアップから鯖を作り直すことにした。
せっかくだから nginxからapache2に移行しようと思っていろんなブログ見ながら作ってみた
そして完成した!っと思ってデータ突っ込んでいろいろいじってほとんど直せた けど、パーマリンクを設定すると404になる

基本を選べば普通に使えるんだけど、数字ベースをできれば使いたい 今までのgoogleにインデックスされていたのが数字ベースだから基本を使うと404になっちゃうってことで
だからどうにか数字ベースにしようといろいろブログを漁ったけどどれもうまく行かない

やって失敗したこと

いろんなブログで紹介されている方法をやってみたけど全部だめだった、

.htaccessをいじる

ファイルの中身を見たけど、全然動きそうだった。コピペしまくってみたけど全然ダメダメダメダメ

apache2の000-default.confをいじる

これが結構惜しかった。AllowOverride Allは有効化されてるわ!!!!!!!!!って思ってたけど、本当に惜しかった

<Directory /var/www/gyougetsu/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

とりあえず、000-default.confのAllowOverride Allが有効になってるか見た方がいいかも

私がうまく行った方法

これは私の環境でうまく行っただけであってみんなの環境で成功するわけじゃないよ

gyougetsu@256server:~$ /etc/apache2/sites-available
gyougetsu@256server:/etc/apache2/sites-available$ ls
000-default.conf  default-ssl.conf  gyougetsu.conf

ここの、gyougetsu.conf をいじったらうまく動いた
下のコードがgyougetsu.conf

<VirtualHost *:80>
    ServerName gyougetsu
    ServerAlias gyougetsu.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/gyougetsu

    <Directory /var/www/gyougetsu/>
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<Directory> を追加して、中にAllowOverride All を入れたらうまく動いた
たったこれだけだった。他の人に同じように domain_name.conf がある気がしないけど、私はこれで動いた

謝罪

3週間鯖落としてごめんなさい
他のメンバーの人 記事書き途中なのに落としてそのままやり方がわからないと言って逃げてずっと鯖を落として本当にごめんなさい
野良でアクセスした人もサイトが落ちてたり404だったりで本当にごめんなさい

コメント

タイトルとURLをコピーしました