我的文件中有以下几行.htaccess
:
RewriteCond "%{DOCUMENT_ROOT}/_legacy/%{REQUEST_URI}" -f
RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/_legacy/$1" [L]
/foo.html
尽管这对于在 中找到很有效,但它对于在 中/_legacy/foo.html
查找 却不起作用。/misc/bar.html
/_legacy/misc/bar.html
奇怪的是,当我尝试访问时,/_legacy/misc/bar.html
没有出现 404,而是出现 403 权限错误。/_legacy/misc/doesnt_exist.html
产生 404。
我的重写显然找到了正确的文件,但是权限不知何故被搞砸了,我还没有找到解决这部分问题的方法。
这就是我尝试像这样重定向访问的动机:
不久前,我将网站主页变成了一个 Angular 应用。但我并不想删除一些旧的遗留内容,但我也不想让这些内容与 Angular 内容混杂在一起。
因此我创建了一个名为的目录_legacy
,并使用重写让服务器在目录内的顶级目录中查找找不到的内容_legacy
。
正如我所说,这只适用于_legacy
目录的根级内容。实际目录和文件权限没问题。我尝试使用FileMatch
和DirectoryMatch
指令明确允许访问子目录,但找不到任何可行的方法。