根目录上的.htaccess mod_rewrite但需要它跳过所有其他目录

Phi*_*ord 1 apache .htaccess mod-rewrite

这是目录大纲:

/
/css
/js
/admin
/config
/etc...
Run Code Online (Sandbox Code Playgroud)

所以这就是我想要的:

/                      <-- Mod re-write for this directory only, skip the rest
/css
/js
/admin
/config
/etc...
Run Code Online (Sandbox Code Playgroud)

.htaccess文件:

# Turn rewrite engine on
RewriteEngine On

# Set the base path
RewriteBase   /

#  now the rewriting rules
RewriteRule ^([0-9A-Za-z]+)/?$ /query.php?id=$1 [L]
Run Code Online (Sandbox Code Playgroud)

想跳过除根目录以外的所有目录,我该怎么做?

Gum*_*mbo 5

另一种解决方案:在规则面前放置其中一条规则:

RewriteRule ^(css|js|admin|config|…)(/|$) - [L]

RewriteCond %{DOCUMENT_ROOT}$0 -d
RewriteRule ^[^/]+ - [L]
Run Code Online (Sandbox Code Playgroud)

最后命名的规则适用于任何现有目录,但仅限于放在服务器文档根目录中的.htaccess文件中.否则,您需要使用特定路径调整RewriteCond表达式%{DOCUMENT_ROOT}$0,例如%{DOCUMENT_ROOT}foo/bar/$0.