删除子目录中的.htaccess
我在目录中有以下.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
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
可以在浏览器中打开