質問: ### 前提・実現したいこと もしかしたら基礎的な事かもしれませんが、どうしても思い出せず、HTTP サブディレクトリなどのキーワードで検索してみましたが、良い結果が得られないので、ご質問します。 公開のサーバーにapacheをインストールしたとします。 WordPress もセットアップしてありますが、サーバー内のサブディレクトリwpに入っています。 ドメインも取得し、例えば、hogehoge.com を取ったとします。 このとき、http://hogehoge.com/wp ならWordPress のメインが立ちがります。 http://hogehoge.com では当然ですが、ルート上のindex.php が表示されます。 ドメイン名でのアクセスでは、WordPressを見せたいとの事なので ルート下のindex.phpを require( dirname( *FILE* ) . '/wp/wp-blog-header.php' ); としました。 結果、http://hogehoge.com でもWordPressが表示されるようになりましたが、今度は、ルート下のhtmlファイルが表示されなくなった! とクレームがつきました。 例えば http://hogehoge.com/main.html と指定すると、http://hogehoge.com/wp/main.html を指定した事になってしまい、ルート下のmain.htmlが呼ばれず、表示されません。 つまり、 http://hogehoge.com とドメイン以外何も指定しなかった時だけを区別して、その場合は、wp/wp-blog-header.phpにリダイレクトし、 http://hogehoge.com/main.html など、ドメイン名の他にhtmlや、サブディレクトリなどを指定した時は、リダイレクトしないという方法を知りたいです。 よろしくお願いいたします。
回答: 既存のサブディレクトリを使ってルートディレクトリに表示する場合 の内容を実行されたのだと思いますが、WordPress の .htaccess もルートディレクトリにコピーして置いてありますか? Webサイトのルートディレクトリの index.php で WordPress を呼び出す場合は、ルートディレクトリにも下記のような .htaccess が必要です。 ``` # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] ```