複数サイトをホストできるようにURLを動的に指定する

目的

  • 2つのドメインを持っているとする。いずれのドメインでも同じWPのサイト(1つのサーバに設置された1個のWPのサイト)を参照させたい。
  • 例えばfoo.comとbar.netというドメインだとすると、http://foo.com/wordpress/?p=123というURLとhttp://bar.net/wordpress/?p=123というURLで、同じ内容のWPのページを表示したい。
  • WPのマルチサイト機能を使えば違う内容のWPを表示することはできるが、同じ内容にはできない。
  • 通常、WPはサイトのURLをFQDN(例えばhttp://foo.com/wordpressのように)で指定する必要があるので、別のURLを指定できない。

方法

  • WPはサイトのURLやホームをWPの管理画面で登録して、それがデータベースに保存される。
  • しかし、PHPで指定する定数WP_SITEURLとWP_HOMEはデータベースのそれより優先される。
  • そこで、以下のように$_SERVER['HTTP_HOST']を使って動的にWP_SITEURLとWP_HOMEを指定する。
  • これで任意のURLでアクセスしてもOKになる。
 define( 'WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpress' );
 define( 'WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpress' );

参考


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2017-08-30 (水) 10:36:20