Alias
で .htaccess ファイルのあるディレクトリに入ると、RewriteRules
「404 ページが見つかりません」というメッセージが表示されます。
私の仮想ホスト構成には次のものがあります。
Alias /foo
<Directory "/home/andrejovich/public_html/foo">
Options Indexes FollowSymlinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
それで、それはかなり標準的です。
/home/andrejovich/public_html/foo には、次のような .htaccess ファイルがあります。
RewriteEngine on
RewriteCond $1 !^(index\.php|js|css|img)
RewriteRule ^(.*)$ /~andrejovich/foo/index.php/$1 [L]
「 http://example.com/foo/bar/baz 」のようなアドレスはJust Work(tm) という概念です。
これは、「 http://example.com/~andrejovich/foo/bar/baz 」のように、自分のホーム ディレクトリに直接アクセスした場合に当てはまります。index.php が実行され、期待どおりのページが表示されます。私のindex.phpが機能していることを知っています。
「foo」の後に何かを省略すると、index.php はデフォルトのページを生成します。これは、「http://example.com/~andrejovich/foo」と「http://example.com/foo 」の両方でも機能します。 " -- エイリアスが機能していることはわかっています。
ただし、エイリアスを調べてそこに /bar/baz の部分があると、失敗します。
" http://example.com/foo/bar/baz " ==> 404.どうして?どうすれば修正できますか?