当我Alias
进入带有RewriteRules
的.htaccess文件的目录时,我得到一个" 404 Page Not Found"消息。
在我的vhost配置中,我有以下内容:
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]
这个概念是指&#34; http://example.com/foo/bar/baz&#34; Just Work(tm)。
如果我直接去我的家庭目录,就像在&#34; http://example.com/~andrejovich/foo/bar/baz&#34;:我的index.php被执行,我得到了我期望的页面 - 所以我知道我的index.php正在运行。
如果我在&#34; foo&#34;之后省略了任何内容,我的index.php会为我生成一个默认页面,这也适用于&#34; http://example.com/~andrejovich/foo&#34;和&#34; http://example.com/foo&#34; - 所以我知道别名正在运作。
但是,如果我浏览别名并在那里有/ bar / baz部分,则会失败:
&#34; http://example.com/foo/bar/baz&#34; ==&GT; 404.怎么了?我该如何解决?