【问题标题】:Redirect request using .htaccess使用 .htaccess 重定向请求
【发布时间】:2010-07-06 05:50:41
【问题描述】:

我需要使用 .htaccess 进行以下重定向

http://example.com => https://example.com/subdirectory
http://www.example.com => https://example.com/subdirectory
https://example.com => https://example.com/subdirectory
https://www.example.com => https://example.com/subdirectory

但我不想在地址栏中显示子目录,url 应该是https://example.com 我的站点文件位于子目录中,但我需要为每个请求将其隐藏在地址栏中。

【问题讨论】:

    标签: apache .htaccess redirect


    【解决方案1】:

    试试这些规则:

    RewriteCond %{HTTPS} !=on [OR]
    RewriteCond %{HTTP_HOST} !=example.com
    RewriteRule ^ https://example.com%{REQUEST_URI} [L,R=301]
    RewriteRule ^$ subdirectory [L]
    

    【讨论】:

    【解决方案2】:

    这个怎么样(基于 Gumbo 的回答):

    RewriteEngine On
    
    # Redirect direct subdirectory/ request to main domain
    RewriteCond %{THE_REQUEST}  ^(POST|GET)\s/subdirectory
    RewriteRule ^subdirectory/?(.*)$ https://example.com/$1 [R=301,L]
    
    # Redirect www/non-https to https://example.com
    RewriteCond %{HTTPS}       !=on           [OR]
    RewriteCond %{HTTP_HOST}   !=example.com
    RewriteRule ^.*$ https://example.com/$0 [R=301,L]
    
    # Redirect (internally) to subdirectory/
    RewriteCond %{REQUEST_URI} !^/subdirectory/
    RewriteRule ^.*$ subdirectory/$0 [L]
    

    【讨论】:

      猜你喜欢
      • 2022-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-03
      • 2015-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多