Apache 当查询不是有效目录时,要重定向的重写规则是什么

Apache 当查询不是有效目录时,要重定向的重写规则是什么,apache,.htaccess,mod-rewrite,url-rewriting,rewrite,Apache,.htaccess,Mod Rewrite,Url Rewriting,Rewrite,我想在.htaccess文件中写入重写规则,以重定向所有未指定有效目录名的请求 例如,如果我的网站根目录中有一个文件夹test和一个文件index.php。我的要求是,所有请求test文件夹或子文件夹中页面的请求都不会被mod_rewrite重写,所有其他不以test开头的请求都会被重写到index.php 另外,文件夹的数量和名称经常更改,这就是为什么我在寻找一个通用的重写规则,它将检查有效的目录名 对于上述情况,将重写什么规则?在DocumentRoot的yout.htaccess中执行此操

我想在.htaccess文件中写入重写规则,以重定向所有未指定有效目录名的请求

例如,如果我的网站根目录中有一个文件夹test和一个文件index.php。我的要求是,所有请求test文件夹或子文件夹中页面的请求都不会被mod_rewrite重写,所有其他不以test开头的请求都会被重写到index.php

另外,文件夹的数量和名称经常更改,这就是为什么我在寻找一个通用的重写规则,它将检查有效的目录名


对于上述情况,将重写什么规则?

DocumentRoot的yout
.htaccess
中执行此操作

RewriteEngine on
RewriteBase /

Rewritecond %{REQUEST_FILENAME} !-f
Rewritecond %{REQUEST_FILENAME} !-d
Rewritecond %{REQUEST_FILENAME} !-l
RewriteRule  ^ index.php [L]
发件人:
-f
-d
-l
是模式的变体。而不是真正的正则表达式字符串

  • '-d'(是目录) 将TestString视为路径名,并测试它是否存在,是否为目录
  • “-f”(是常规文件) 将TestString视为路径名,并测试它是否存在,是否为常规文件
  • “-l”(是符号链接) 将TestString视为路径名并测试它是否存在,并且它是一个符号链接
如果以感叹号(“!”)作为前缀,则会导致否定其含义。i、 e.
-f
表示不是常规文件