Apache Mod Rewrite - 排除文件夹和子文件夹,但一个子文件夹除外

Apache Mod Rewrite - 排除文件夹和子文件夹,但一个子文件夹除外

我有一个 Mod_Rewrite 设置,如下所示:

RewriteCond %{REQUEST_FILENAME} !^/www/live/site.name/app/public/(/forms/|/crm/)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/index.php [L]

路由所有请求 - 除 /forms/ 和 /crm/ 文件夹之外,通过加载框架/路由等的 index.php 文件。

但是,现在我必须允许 /forms/apply/ 也被路由到 index.php - 但 /forms/ 中的任何其他内容都应该继续被忽略。

有什么建议么?

答案1

您可以使用 OR 条件:

RewriteCond %{REQUEST_FILENAME} ^/www/live/site\.name/app/public/forms/apply/ [OR]
RewriteCond %{REQUEST_FILENAME} !^/www/live/site\.name/app/public/(forms/|crm/)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/index.php [L]

顺便说一下.需要转义,并且你/在 /forms/ & /crm/ 中还有更多

相关内容