LoginSignup
3
2

More than 3 years have passed since last update.

[baserCMS]固定ページのプレビュー時、編集領域での変更内容(保存ボタン押下前)が反映されないケースがある対策

Posted at

結論

htaccessに以下を書いてみること。
※「+」のところが追加行箇所

RewriteEngine on
RewriteBase /

# プレビューのときはbaserCMSを優先し実フォルダ、ファイルをムシする
+ RewriteCond %{QUERY_STRING} (^|&)preview=([^&]+)($|&)
+ RewriteRule ^(.*)$ index.php [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]

前提事項としては少し特殊なケースで、webrootをドキュメントルート直下配置しているケース。

.
├── index.php
├── lib
│   ├── Baser
│   └── Cake
├── directory(実体として設置。フォルダ内にindex.htmlがある。index.phpは存在しない)
└── theme

上記配置状態の際に、CMS管理側の /directory/index の編集画面から「プレビュー」を実行しても、編集領域の内容が反映されない、といったとき。

調べてみてわかった事柄としては以下の点。

  • プレビューは、URLに「?preview=default」のパラメータをトリガーとして動作発生するもの
  • 実ディレクトリが存在する場合、そちらへのアクセス処理が優先される、のは通常動作だが、挙げている配置構成の場合、プレビュー動作のために必要なパラメータが、プログラムの動作内ではなくなった状態となっているため動作しない。

環境

  • PHP 5.6
  • baserCMS 4.2.1

参考記事というか先生

3
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2