公開日: 2024年06月09日(Sun)
Pickles 2 のプレビュー環境は、 .px_execute.php
というエントリースクリプトから全ての処理が開始されます。多くの場合、エントリースクリプトについて意識することはありませんが、プロジェクトの構成や要件によっては、このファイル名を変更したい場合があるかもしれません。
この記事では、Pickles 2 のエントリースクリプトのファイル名を変更する手順についてご紹介します。
この記事では、 Pickles 2 のエントリーファイル名を .px_execute.php
から index.php
に変更する場合 を想定して、手順を進めていきます。
index.php
以外のファイル名にしたい場合は、適宜読み換えてください。
エントリースクリプトファイル自体のファイル名を変更します。
エントリースクリプトは、一般的には src_px2/
に .px_execute.php
というファイル名で置かれています。このファイル名を、index.php
に変更してください。
エントリースクリプトと同じ階層には、.htaccess
が配置されています。
このファイルの役割は、ウェブサーバー Apache を設定して、静的なURLでのリクエストを エントリースクリプトにリダイレクトすることです。
リダイレクトさせる設定の中に、エントリースクリプトのパスの記述が含まれているので、これを変更します。
#-------------------------
# for pickles2
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews +FollowSymLinks
</IfModule>
RewriteEngine on
# RewriteCond %{REQUEST_URI} !^.*?/\.px_execute\.php/
# ↓次のように修正
RewriteCond %{REQUEST_URI} !^.*?/index\.php/
RewriteCond %{REQUEST_URI} /(.*?\.(?:html|htm|css|js))?$
# RewriteRule ^(.*)$ \.px_execute\.php/$1 [L]
# ↓次のように修正
RewriteRule ^(.*)$ index\.php/$1 [L]
# RewriteCond %{REQUEST_URI} !^.*?/\.px_execute\.php/
# ↓次のように修正
RewriteCond %{REQUEST_URI} !^.*?/index\.php/
RewriteCond %{REQUEST_URI} /(.*?\.(?:ignore)([\.\/].*)?)$
# RewriteRule ^(.*)$ \.px_execute\.php/\.ignore.html [L]
# ↓次のように修正
RewriteRule ^(.*)$ index\.php/\.ignore.html [L]
</IfModule>
エントリースクリプトそれ自体は、パブリッシュの対象外であるべきです。 このための設定が、config.php
の中に含まれているので、これを、index.php
に書き換えます。
config.php
は、通常 px-files/
にあります。
このファイルを開き、$conf->paths_proc_type
の値の中の /.px_execute.php
の箇所を /index.php
に書き換えます。
$conf->paths_proc_type = array(
'/.htaccess' => 'ignore',
// '/.px_execute.php' => 'ignore',
// ↓次のように修正
'/index.php' => 'ignore',
'/px-files/*' => 'ignore',
'/composer.json' => 'ignore',
'/composer.lock' => 'ignore',
'/README.md' => 'ignore',
...
プロジェクトの構成によっては、composer.json
の中にもエントリースクリプトのパスが含まれている場合があります。 もし、お使いのプロジェクトにこれらが含まれていなければ、この手順はスキップしても大丈夫です。
まず、extra
の設定を確認してください。
デスクトップ版 Pickles 2 babycorn などの編集ツールが、Pickles 2 の構成を知るために参照します。
ここに、エントリースクリプトのパスの記述がある場合は、index.php
に変更します。
例えば次のようになります。 ./src_px2/index.php
の部分が変更箇所です。
"scripts": {
"start": [
"@php ./src_px2/index.php \"/?PX=serve&S=127.0.0.1:8080\""
],
"start-pub": [
"@php ./src_px2/index.php \"/?PX=serve.pub&S=127.0.0.1:8081\""
]
},
...
続いて、scripts
を確認します。
scripts
は、composerの機能で、様々なタスクやコマンドを登録して、まとめて実行できる機能です。
ここに、Pickles 2 の機能の呼び出し(例えば、キャッシュの状況や、パブリッシュなど)が登録されている場合は、修正が必要です。
例えば次のようになります。 extra.px2package.path
の値が src_px2/index.php
に変更されています。
"extra": {
"px2package": {
"name": "Pickles 2",
"type": "project",
"path": "src_px2/index.php",
"path_homedir": "px-files/"
}
}
この記事では、Pickles 2 のエントリーファイル名を変更する手順についてご紹介しました。
手順をまとめると、次のようになります。
src_px2/.px_execute.php
のファイル名を src_px2/index.php
に変更する。.htaccess
の RewriteCond
中の \.px_execute\.php
のような箇所を、index\.php
に書き換える。px-files/config.php
の中の、$conf->paths_proc_type
設定の中にある /.px_execute.php
を、/index.php
に書き換える。composer.json
の中の、extra
と scripts
に ./src_px2/.px_execute.php
の記述が含まれる場合、 src_px2/index.php
に書き換える。公開日: 2024年06月09日(Sun)