【问题标题】:.htaccess / https redirection, virtual folder access with exceptions.htaccess / https 重定向,虚拟文件​​夹访问异常
【发布时间】:2010-12-11 23:35:33
【问题描述】:

/* 这似乎与我 10 天前提出的另一个问题 (.htaccess / redirecting to https://www.example.com and virtual folder access) 重复,但是 (a) 我没有得到对我对问题所做的更改的任何回复,并且 (b) 这这里的问题是上述问题的更复杂版本,我相信需要一个新的查询 */

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

我需要 .htaccess 魔法来实现以下所有内容:

(a) 将用户从“example.com”永久重定向到“www.example.com”(301 个东西)

(b) 将用户从 http://www.example.com 永久重定向到 https://www.example.com(301 个东西)

(c) 访问 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) 所有这些都不应影响 example.com/index.html 的查看

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

S

【问题讨论】:

    标签: .htaccess redirect https virtualfilesystem


    【解决方案1】:

    试试这些规则:

    # (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]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-22
      • 2014-03-16
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多