0

当我Alias进入带有 .htaccess 文件的目录时RewriteRules,我收到“404 Page Not Found”消息。

在我的虚拟主机配置中,我有以下内容:

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 ”之类的地址只是工作(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. 怎么会?我如何解决它?

4

0 回答 0