nginxに移行しようとしています...
次の mod_rewrite コマンドを使用して、Apache でアプリを実行しています。
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/([a-z\-0-9]+)/(.*)$ /$1/index.php/$2 [E=USERKEY:$1,L]
私たちが使用しているPHPサポートは、次の形式でアイテムを処理します。
/[USERKEY]/index.php/[module]/[action]/[etc...]
すべてのヒット (ディスク上に静的ファイルがない場合) をindex.phpファイルに渡し、次の形式で処理します。
http://www.myapp.com/bobsmith/rockstar/add?q=45678
に変換されます:
/var/www/some_static_path/bobsmith/index.php/rockstar/add?q=45678
一部の CMS 製品が同様のことを行うことを知っており、多くの例を見つけましたが、この奇妙な USERKEY ペイロード ( index.php のパスの一部) が構成に問題を引き起こしています。さらに、index.php の後のスラッシュ (/) の処理に苦労しました。エラー ログには次のように表示されます。
"/bobmsith/index.php/login" failed (20: Not a directory)
参照しようとすると: http://www.myapp.com/bobsmith/login
書き換え、if(s)、さまざまなタイプの場所の正規表現、try_files、fastcgi_split_path_info を使用してみました...成功するためのカクテルが見つかりません!
あらゆる/すべての助けに感謝します。皆さんありがとう!