如果文件夹中存在文件,如何从根目录重写 URI?

如果文件夹中存在文件,如何从根目录重写 URI?

我的文档根目录中有一个public文件夹。我想重定向所有不在文档根目录中但存在于公共文件夹中的文件。(因此,如果同一个文件在两个地方,则将首先提供不在公共文件夹中的文件。)
我该怎么做?
以下方法不起作用:

RewriteCond %{DOCUMENT_ROOT}/public/%{REQUEST_URI} -f¬
RewriteRule ^(.*)$ public/$1 [QSA, PT, L]

答案1

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1

相关内容