にウェブサイトがありexample.com/test/ます。Web サイトが次のようにレイアウトされているとしましょう。
example.com
└── test/
├── assets/
│ └─ stylesheet.css
│
├── .htaccess
└── index.php
index.phpここにルーターがあります。これは、最近は明らかにクールです。
ユーザーが のようなページを要求するたびに、そのファイルがあるexample.com/test/stylesheet.cssかどうかを確認し、ある場合assets/は、に URL を渡す代わりにそのファイルを提供しますindex.php。理想的には、次のように動作します。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond assets/%{REQUEST_FILENAME} -f
RewriteRule ^(.+)$ assets/$1
しかし、%{REQUEST_FILENAME}は絶対パスなので、 のassets/%{REQUEST_FILENAME}ようなものになりますassets/home/public/test/stylesheet.css。%{REQUEST_URI}に変わりますassets/test/stylesheet.css。this questionも見ましたが、答えもうまくいきませんでした。
PHPに頼らずにこれを行う方法はありますか? (そうでない場合は、PHP の を使用しますがreadfile、LFI などについて心配する必要はありません。)