あなたのURLfoo
にはパラメータキーがあります、あなたがそれをそのようにするつもりなら、それはどのような値を持っているでしょうか?
おそらく、リクエストを処理するルーティングスクリプトにURL全体を渡すルーティング構造と混同している可能性があります
あなたが探している書き直しはこれです:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]
次に、インデックスで次のようにURLを分割します。
<?php
$parts = isset($_GET['route']) ? explode('/',$_GET['route']) : array();
?>
次に、URLの例は次のようになります。
www.example.com/foo/bar/baz
$parts[0] = foo
$parts[1] = bar
$parts[2] = baz
次に、フォルダ/ファイルの存在を探している場合は、次のようになります。
<?php
if (isset($parts[0]) && file_exists('./'.basename($parts[0]))) {
//Folder or file exists
} else {
//Folder or file does not exist - 404
}
?>