wordpressで不要なindex.phpを取る

現象:トップページからのリンクで固定ページに飛ぶ時、自動的にindex.phpが付く。

多くのインターネットにその方法があるが、自分では出来なかった。蛇足だが私の管理しているWEBサーバーは管理者(root)権限が使用できる。このような時は .htaccess を使用すべきでない。管理者権限がない場合は仕方なく使用せざるを得ないが。https://httpd.apache.org/docs/current/ja/howto/htaccess.html によると

一般的に、サーバの主設定ファイルにアクセスできない場合を除いて、 .htaccess ファイルの使用は極力避けてください。 世の中には、例えば、ユーザ認証は常に .htaccess ファイルで 行なわなければならない、という誤解が広まっていますが、まったくそんなことは ありません。ユーザ認証の設定はサーバ主設定ファイルに書くことができ、 実際、その方がより良い設定方法です。.htaccess ファイルはコンテンツ提供者がディレクトリ毎の 設定を行ないたいけれど、サーバシステムの root アクセス権限を持っていない という場合にのみ使うべきものです。(又、その理由もここに書いてあります)

という訳で、conf.d にある virtualhost-le-ssl.conf を変更(lets encryptの設定時に作られた)
<Directory /webdata/public/inpac>
       AllowOverride None
      <IfModule mod_rewrite.c>
               RewriteEngine On
               RewriteBase /
               RewriteRule ^index\.php$ – [L]
               RewriteCond %{REQUEST_FILENAME} !-f
               RewriteCond %{REQUEST_FILENAME} !-d
               RewriteRule . /index.php [L]
       </IfModule>
</Directory>
青字は元々の設定、緑字を追記(AllowOverride None で .htaccess 使えなくしている。又 RewriteBase がある時は <derectory ….> の中に入れないと RewriteBase: only valid in per-directory config files と怒られる)

でもって、apache を再起動してチェック。
!!!!アレー まだ index.php が入っている。なんでー。これで散々悩んだが、問題は簡単な事だった。パーリンクの設定で(ダッシュボート → 設定 → パーマリンク設定)カスタム構造を選んでいるが、その中の設定で /index.php/%year%/%monthnum%/%day%/%postname%/ と最初に index.php が入っていたので、これを取り/%year%/%monthnum%/%day%/%postname%/ として、変更を保存したら、index.php がやっと表示されなくなった。

フジマル について

1947年生れ、東京電機大学二部電気通信工学科卒、最後はスリランカ航空で営業だったのですが2018年に㈱インパック・ジャパンに再就職。趣味:登山、スキー、車いじり、コンピューター
カテゴリー: Linux運用時のメモ パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください