.htaccess/https重定向,有例外的虚拟文件夹访问

问题描述:

/*这似乎与我在10天前提出的另一个问题(.htaccess/redirecting to https://www.example.com and virtual folder access)的副本相同,但(a)我没有对我所做的更改作出任何响应(b)这个问题在这里是上述更复杂的版本,我相信一个新的查询*/.htaccess/https重定向,有例外的虚拟文件夹访问

我有一个网站有以下实体: example.com/index.html example.com/main.php example.com/SPECIAL/main.php 除了上述内容外,我还有像脚本生成的html指向的example.com/images/,/ css /等文件夹。

我需要所有的下面的.htaccess法宝:从 “example.com” 到 “www.example.com”(301的东西)

(二)永久重定向

(一)永久地将用户重定向从用户http://www.example.comhttps://www.example.com(301东东)

(三)用户访问example.com/应该的,当然,看到index.html的,但如果他们输入
          example.com/ABCDEF OR
          example.com/ABCDEF/
它们应该被重定向到example.com/main.php?folder=ABCDEF
除了ABCDEF是真实文件夹(如/ SPECIAL /,/ images /,/ css /等)时
(d)如果用户试图访问example.com/REALFOLDER/(例如/ images /),他应该被重定向到example.com/

(e)所有这些都不应该妨碍查看示例.com/index.html

对不起,如果这听起来很复杂,但那正是我需要的!

小号

尝试下列规则:

# (a) and (b) 
RewriteCond %{HTTP_HOST} =example.com [OR] 
RewriteCond %{HTTPS} !=on 
RewriteRule^https://www.example.com%{REQUEST_URI} [L,R=301] 
# (d) 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ./[L,R] 
# (c) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^/]+)/?$ main.php?folder=$1 [L]