私は手に入れることができるすべてのことを研究し、試してきましたが、この奇妙さは持続しています.
画像のサイズ変更とキャッシュを行う php スクリプトが、SEF URL を作成するために .php 拡張子なしで呼び出されるという、理解できるほど奇妙な書き換えシナリオがあります。奇妙な部分は、すべての「パラメーター」をあたかもスクリプトのサブディレクトリであり、このシナリオでは書き換えが失敗します。つまり:
http://10.3.2.218/libraries/imageresize/images/portfolio/200/test.jpg
上記の URL では、'imageresize' は実際には 'imageresize.php' であり、それ以降はすべて $_SERVER['REQUEST_URI'] を使用してスクリプトによってキャプチャされ、画像の場所とサイズまで処理されます。スクリプトの出力は、必要なコンテンツ タイプなどを含む処理済みの画像です。
正確な問題は、書き換えルールが通常の条件下でうまく機能し、(上記のシナリオで) クライアントがいる 1and1 でうまく機能することですが、私の開発用 centos webserver/vm または cpanel を使用した VPS では機能しません。1and1 apache 以外のどこでも、おそらく /imageresize/ がディレクトリであると想定しており、スクリプトであるかどうかをテストしていないようです。私の書き換えルールは以下の通りです。
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !(\.[^./]+)$
RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f
RewriteRule (.*) $1.php [L]
サーバー構成に関連する解決策を探しているか、より良い書き換えルールを支援しているか、少なくとも 1and1 で何かが実際に機能する理由の説明を探していると思います。
助けてくれてありがとう。