Apache的重定向404只为文件都没有发现?
-
11-07-2019 - |
题
什么我希望做的基本上是采取一个目录下的所有请求,而如果该文件存在,将其发送。如果不是,从父目录发送(假设它存在那里)。这些文件很大,可以有很多,而子目录会经常改变,所以文件系统链接是不是管理的好方法。是否有这样做的一些Apache的配置方式是什么? e.g。
/path/file0
/path/file1
/path/sub1/fileA
/path/sub1/fileB
/path/sub1/fileC
/path/sub2/fileA
/path/sub2/fileB
/path/sub2/fileC
所以,如果一个请求进入用于/path/sub1/fileB
他们得到/path/sub1/file0
(正常情况)。如果收到请求时为/path/file0
他们得到<=>(特殊情况)。
或者,也许有一个在PHP的方式,如果我能有Apache的重定向一个文件夹中的所有请求,检查一个特定的PHP文件,如果文件存在,如果不检查“向上”文件夹?
感谢。
解决方案
您可以使用的mod_rewrite 来做到这一点:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^path/[^/]+/([^/]+)$ path/$1 [L]
此规则将重写的请求/path/
foo
/
bar
到<=> <=> 的仅当<=> <=> <=> <=> 不是一个普通的文件。
其他提示
是,PHP可以重定向到父目录。
不隶属于 StackOverflow