混淆到使用mod_rewrite的目录:404找不到?

时间:2014-03-19 09:31:33

标签: .htaccess mod-rewrite apache2 virtualhost mod-alias

当我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.怎么了?我该如何解决?

0 个答案:

没有答案