删除子目录中的.htaccess

删除子目录中的.htaccess,.htaccess,.htaccess,我在目录中有以下.htaccess文件: RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^(.*)$ https://www.mysite.com/launch [R,L] DirectoryIndex index.html 基本上,这会强制mysite.com/launch下面的任何和所有页面使用SSL版本的 但是,对于/launch下的单个子目录,我需要能够在不重定向用户的情况下允许访问 例如,如果他们导航到www.mysi

我在目录中有以下.htaccess文件:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://www.mysite.com/launch [R,L] 
DirectoryIndex index.html
基本上,这会强制mysite.com/launch下面的任何和所有页面使用SSL版本的

但是,对于/launch下的单个子目录,我需要能够在不重定向用户的情况下允许访问

例如,如果他们导航到www.mysite.com/launch/files/photos,那么他们应该能够访问/photos目录中的各个文件


我是在/photos目录中使用另一个.htaccess文件,还是在/launch目录中修改现有的.htaccess文件?

只需在规则上方添加另一个
RewriteCond
,如下所示:

# Put this above the existing RewriteCond
RewriteCond %{REQUEST_URI} !launch/files/photos
...

我用过类似的东西

RewriteRule ^(?!intranet/|cv/)(.+)$ somedirname/$1 [L]
RewriteRUle ^$ somedirname/ [L]
因此,当调用mysite.com/intranet时,它会进入intranet文件夹 或者当调用mysite.com/cv时,它会进入cv文件夹

但在这种情况下,如果不调用subdir,它将强制进入“somedirname”

当然,您可以将最后一个
rewriterule更改为rewriterule^(.*)$
https://www.mysite.com/launch [R,L]

将另一个重写规则放在上面,以检查它不是他们可以访问的目录

所以你会得到这样的结果:

RewriteCond %{HTTPS} !=on
RewriteRule ^(?!subdir1/|subdir2/)(.+)$ launch/$1 [L]
RewriteRule ^(.*)$ https://www.mysite.com/launch [R,L] 
DirectoryIndex index.html
现在 www.mysite.com/subdir1 和 www.mysite.com/subdir2 可以在浏览器中打开