ダイナミックパブリッシングの設定

PowerCMS Xでは、以下の再構築オプションが選択可能です。

  • 静的(スタティック)
  • ダイナミック
  • オンデマンド(最初のリクエスト時に動的ページ生成され、ファイルが書き出される)
  • キュー(非同期に worker.phpによって静的再構築)
  • 手動

「ダイナミック」「オンデマンド」を選択した時、リクエストを pt-view.php に渡す必要があります。また「ダイナミック」「オンデマンド」を選択しない場合でも、リクエストを pt-view.php に渡すことによって、非公開ページ・アイテム(画像など)のプレビューや、LivePreview (未来日時のウェブサイトプレビュー)が可能になります。pt-view.php は、powercmsx/siteディレクトリにあるほか、Websiteテーマに含まれています。

Apache(.htaccess)の設定の例

以下に設定の例をあげます(Websiteテーマに含まれています)。

RewriteEngine On
RewriteCond %{HTTP_COOKIE} .*pt-user.*$ [OR]
RewriteCond %{REQUEST_METHOD} !=GET [OR]
RewriteCond %{REQUEST_URI}  /[^.php]$/
RewriteRule ^(.*)$ /powercmsx/html/pt-view.php
ErrorDocument 404 site/pt-view.php
DirectoryIndex pt-view.php

RewriteEngine On
RewriteCond %{QUERY_STRING} (=)
RewriteRule ^(.*)$ /powercmsx/html/pt-view.php

上記の設定では、以下の条件を満たす場合に pt-view.php にリクエストが渡ります。

  • ログインクッキーがある時(OR)
  • GETメソッド以外の時(OR)
  • php以外の拡張子の時
  • ファイルが存在しない時(404)(OR)
  • クエリパラメタ付きのリクエストの時(OR)

GETメソッド以外の時に pt-view.php にリクエストを渡す設定をすることで、問い合わせフォームを静的に出力しても、投稿を受け取れるようになります。また、クエリパラメタ付きのリクエストを pt-view.php に渡すことによって、静的な一覧ページにクエリパラメタを付けて、ページネーションや動的検索を実現できるようになります。