.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.com到https://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]