.htaccess RewriteEngine 用于制作一个别名并将所有其他路由器重定向到 index.php

.htaccess RewriteEngine for making one alias and redirecting all other routers to index.php

我用它来将所有调用重定向到 index.php(这里使用 Slim 框架):

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

现在因为我不想将文件存储在我的 public 文件夹中,而是存储在其他地方(仍然可以从域访问它们。com/files)。我发现这正是我需要的:

RewriteRule ^files/(.*)$ ../share/files/

但是如何将这两者合而为一呢?..

只需将您的新规则放在另一个规则之前(不要忘记添加停止标志 L):

RewriteEngine On

RewriteRule ^files/(.*)$ ../share/files/ [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]