【问题标题】:Need htaccess redirect code solution for subdomain URL to redirect to URL without www需要htaccess重定向代码解决子域URL重定向到没有www的URL
【发布时间】:2017-08-11 22:42:27
【问题描述】:

我有一个域 example.com,我在 .htaccess 文件中添加了以下重定向代码以重定向到 https://www.example.com/https://test.example.com/https://www.example.com/test/

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

1)当我在浏览器example.com中加载URL时,它被重定向到https://www.example.com

2) 我在 example.com 中创建了一个子域文件夹“test”。所以当我加载 URL example.com/test 时,它被重定向到https://www.example.com/test/

需要以下解决方案

1) 当我加载 URL test.example.com 时,它被重定向到 https://www.test.example.com,但我希望它被重定向到 https://test.example.com

2) 当我加载 URL www.example.com/test 时,它被重定向到 https://www.www.example.com/test/ 但我希望它被重定向到 https://www.example.com/test/

3) 当我加载 URL www.example.com 时,它被重定向到 https://www.www.example.com/ 但我希望它被重定向到 https://www.example.com/

有人可以帮忙吗?提前致谢

【问题讨论】:

  • 您需要提供有关您的要求的更多详细信息。如果您尝试加载 www.example.com,当前会发生什么?
  • 我已经更新了问题
  • 对不起,我已经清楚地更新了问题
  • 它重定向到 https://www.www.example.com/

标签: php apache .htaccess redirect mod-rewrite


【解决方案1】:

你可以使用这条规则

RewriteEngine on

#redirect subdomain to https
RewriteCond %{HTTPS}#%{HTTP_HOST} ^off#(sub\.domain\.com)$
RewriteRule ^ https://%1%{REQUEST_URI} [NE,L,R]
#redirect main domain to https www
RewriteCond %{HTTPS}#%{HTTP_HOST} ^off#(?:www\.)?(example\.com)$
RewriteRule ^ https://www.%1%{REQUEST_URI} [NE,L,R]

在测试这些新的重定向之前清除浏览器缓存。

如果您有多个子域,可以使用以下模式将它们重定向到 https:

^off#(sub\.domain\.com|sub2.example.com|sub3.example.com|other)$

【讨论】:

    猜你喜欢
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多