htaccess 排除特定目录
htaccess to exclude a specific directory
我的站点根目录下有一个 htaccess,如下所示:
RewriteEngine On
RewriteRule \.php$ - [L,NC]
RewriteRule ^(?:favicon\.ico|(?:index|custom500|custom404)\.html)$ - [L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .+ index.php?source=[=10=] [L,QSA]
我希望它忽略那些包含特定文件夹的 url folder1
。网址将类似于:
https://mycooldomain.com/folder1/api/rest/... //something else here
我已经检查过 ,但我似乎无法将其应用到我的情况中。
像这样:
RewriteEngine On
# ignore request URLs that start with /folder1/
RewriteCond %{THE_REQUEST} \s/+folder1/ [NC]
RewriteRule ^ - [L]
RewriteRule \.php$ - [L,NC]
RewriteRule ^(?:favicon\.ico|(?:index|custom500|custom404)\.html)$ - [L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .+ index.php?source=[=10=] [L,QSA]
替代@anubhava 的回答...在您的.htaccess
文件中需要 忽略的唯一规则是最后一条。因此,您可以在最后一条规则中添加一个条件,以排除 URL-以 /folder1/
.
开头的路径
例如:
RewriteCond %{REQUEST_URI} !^/folder1/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .+ index.php?source=[=10=] [L,QSA]
!^/folder1/
上的 !
前缀否定正则表达式,因此当 不 匹配时它是成功的。 IE。当 URL-path not 以 /folder1/
.
开头时
我的站点根目录下有一个 htaccess,如下所示:
RewriteEngine On
RewriteRule \.php$ - [L,NC]
RewriteRule ^(?:favicon\.ico|(?:index|custom500|custom404)\.html)$ - [L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .+ index.php?source=[=10=] [L,QSA]
我希望它忽略那些包含特定文件夹的 url folder1
。网址将类似于:
https://mycooldomain.com/folder1/api/rest/... //something else here
我已经检查过
像这样:
RewriteEngine On
# ignore request URLs that start with /folder1/
RewriteCond %{THE_REQUEST} \s/+folder1/ [NC]
RewriteRule ^ - [L]
RewriteRule \.php$ - [L,NC]
RewriteRule ^(?:favicon\.ico|(?:index|custom500|custom404)\.html)$ - [L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .+ index.php?source=[=10=] [L,QSA]
替代@anubhava 的回答...在您的.htaccess
文件中需要 忽略的唯一规则是最后一条。因此,您可以在最后一条规则中添加一个条件,以排除 URL-以 /folder1/
.
例如:
RewriteCond %{REQUEST_URI} !^/folder1/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .+ index.php?source=[=10=] [L,QSA]
!^/folder1/
上的 !
前缀否定正则表达式,因此当 不 匹配时它是成功的。 IE。当 URL-path not 以 /folder1/
.