WordPressでインストールフォルダとは異なるサブディレクトリをサイトURLに設定する
今回はタイトルの通りですが、WordPressサイトを静的サイトあるいは他のアプリケーションサイトと併用して運用したい時に使える内容です。少しレアケースかもしれませんが、備忘録として残しておきたいと思います。以前に「WordPressで作成したサイトをルートディレクトリで表示させる」という記事で紹介した、WordPressのインデックスファイルと.htaccessファイルを変更する方法の応用になります。
WordPressサイトをサーバーにインストールする際には、ドキュメントルート直下にコアファイルを展開するというケースはあまりなく、基本的に専用のインストールディレクトリを作成し、その中にインストールしていくケースが多いかと思います。ただ、その場合はインストールディレクトリがそのままサイトURLになるので、このディレクトリ名を任意のものに変えたいというケースがあるかと思います。今回は下記のような構成で、wordpressフォルダにWordPressをインストールして、blogディレクトリをWordPressサイトルートに設定し、https://example.com/blog/のURLでWordPressサイトのトップページが表示される想定で進めてみましょう。
/ ┣ index.html ............. ┣ wordpress/ ┣ index.php ┣ .htaccess ............. ┗ blog ┣ index.php ┗ .htaccessサイトトップURL:https://example.com WordPressインストールURL:https://example.com/wordpress/ WordPressサイトトップURL:https://example.com/blog/
WordPress管理画面での設定
まずはWordPressの管理画面にログインし、サイドのメニューから「設定」→「一般」にアクセスし、サイトのURLを設定していきます。確認するところは下記の2箇所になります。 WordPress アドレス(URL)→ https://example.com/wordpress/ サイトアドレス(URL)→ https://example.com/blog/ 今回は上記の構成を前提にしていますので、ディレクトリ名などは適宜プロジェクトに合わせて変更します。WordPressサイトルート用のディレクトリとファイル作成
続いてWordPressのトップページが表示されるURLのディレクトリとその中に入るファイルを作成していきます。ディレクトリ名はそのままURLのパスになるので、適宜名前をつけて作成します。そしてその中には「index.php」と「.htaccess」の2つのファイルを作成します。 まずはindex.phpを下記のように作成します。こうすることにより、このディレクトリにアクセスすると、WordPressのインストールフォルダに入っているWordPressのインデックスファイルを参照するようになります。つまり、このディレクトリからWordPressサイトのシステムにアクセスすることができます。 【blog/index.php】※一部抜粋<?php ............ require ('../wordpress/wp-blog-header.php');続けて.htaccessの方も下記のように編集していきます。こちらもリライトルールを設定することで、WordPress内で設定したパーマリンクがこのディレクトリ配下のURL使えるようになります。 【blog/.htaccess】
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /wordpress/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /wordpress/index.php [L] </IfModule>設定自体はこれだけでOKですが、一応、WordPressのコアファイル内にあるindex.phpと.htaccessも確認しておきますと、このような設定になっているかと思います。特に修正する必要はありませんが、うまく表示されない場合にはこれらのファイルが同じ設定になっているかを確認してみてください。 【wordpress/index.php】※一部抜粋
<?php ............ require __DIR__ . '/wp-blog-header.php'; /* もしくは下記のような記述 */ require( dirname( __FILE__ ) . '/wp-blog-header.php' );WordPressのインストールディレクトリ直下の.htaccessの方は、サイトルート用のディレクトリに入っているものと同じ記述になりますね。 【wordpress/.htaccess】
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /wordpress/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /wordpress/index.php [L] </IfModule>これでWordPressのインストールディレクトリと異なるサブディレクトリでWordPressのサイトを表示させることができました。あまり使われるケースは少ないかもしれませんが、メディアサイト・ブログサイトだけ独立させてWordPressで運用したい、でもURLを柔軟に変えれるようにもしたいというケースには有効なのではないでしょうか。
sponserd
keyword search
categories
recent posts
- Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #2
Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #2
- Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #1
Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #1
- ViteでReactとReact Routerを使ってみる
ViteでReactとReact Routerを使ってみる
- ViteでPugのコンパイル環境を導入する
ViteでPugのコンパイル環境を導入する
- ViteでMarkuplintとPrettierを使える環境を構築する
ViteでMarkuplintとPrettierを使える環境を構築する
- ViteでStylelintとESlintを使える環境を構築する
ViteでStylelintとESlintを使える環境を構築する
- マウスオーバーしたセルを含む行列がハイライトするテーブルを作成する:has()擬似クラスの活用例
マウスオーバーしたセルを含む行列がハイライトするテーブルを作成する:has()擬似クラスの活用例
- ViteでVue.jsとVuex(Pinia)とVue Routerを使ってみる
ViteでVue.jsとVuex(Pinia)とVue Routerを使ってみる
comments
TC5161
オガワ シンヤ
TC5161