Apache .htaccess重写引擎,用于生成一个别名并将所有其他路由器重定向到index.php

Apache .htaccess重写引擎,用于生成一个别名并将所有其他路由器重定向到index.php,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我在这里使用Slim framework将所有调用重定向到index.php: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [QSA,L] 现在,因为我不想将文件存储在我的公用文件夹中,而是存储在其他地方,并且仍然可以从domain.com/files访问它们。我发现这正是我所需要的: RewriteRule ^files/(.*)$ ../share/files/$1 但是如何将

我在这里使用Slim framework将所有调用重定向到index.php:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
现在,因为我不想将文件存储在我的公用文件夹中,而是存储在其他地方,并且仍然可以从domain.com/files访问它们。我发现这正是我所需要的:

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

但是如何将这两个规则合并为一个呢?。

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

RewriteEngine On

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

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

此规则是否重写规则^files/*$../share/files/$1独立工作?非常好,谢谢。如果你有机会,请你解释一下这个代码和标志。欢迎。从上到下分析htaccess文件,就好像有一个请求出现一样,第一个与该请求匹配的规则将被执行,如果添加L标志,分析将退出该规则,如果不添加该标志,分析将继续查找其他规则。