【问题标题】:redirect a url or domain with www使用 www 重定向 url 或域
【发布时间】:2023-03-14 22:34:01
【问题描述】:

我有一个关于 url 或域重定向的简单问题。我正在查看之前关于如何将 url 或域从 http 重定向到 http 以强制使用 ssl 的问题。

当我尝试重定向无 www 时出现了奇怪的部分。到 www。与域。我尝试了很多方法,但没有一个对我有用。有谁知道这是为什么?以及如何解决这个问题??

这是我在 .htaccess 中使用的代码:

RewriteCond %{HTTP_HOST} ^mydomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$
RewriteRule ^/?$ "https\:\/\/www\.mydomain\.com\/main" [R=301,L]

另一个奇怪的事情是,每当我在没有 www 的浏览器上键入域时。有一条错误消息,但是当我插入 www.在域前面,它当然会使用 https 和 wwww 重定向。

有什么想法吗?

谢谢

【问题讨论】:

    标签: url redirect url-rewriting


    【解决方案1】:

    您的规则将陷入循环。改为这样做:

    RewriteEngine on
    RewriteBase /
    
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    

    【讨论】:

    • 嗨 ThinkingMonkey。非常感谢。我将上面的完整代码添加到 .htaccess 中,但仍然无法正常工作...我将 .htaccess 放在域的根目录中,并且还有另一个子域,其中 www 具有 .htaccess。我是否必须在两个文件中两次插入上面的你?谢谢
    • 我刚刚发现,如果我在 .htaccess 中为 root 编写任何内容,它将被复制到另一个。所以两者都具有相同的规则和条件,但正如我所说,它不起作用。当我重新加载页面时,它显示链接使用 http// 重定向并且没有 www 所以它失败
    • @Fxdigi 你在共享主机上吗?
    • @Fxdigi 举例说明究竟发生了什么。失败是什么意思?
    • 当我将您的代码带到 .htaccess 并将其保存在根目录中时,我在浏览器中运行我的网站“在没有 www 的情况下绑定我的域”,例如 FF 给了我这样的消息:Firefox 不能在 mydomain.com 上建立与服务器的连接。
    猜你喜欢
    • 2015-09-03
    • 2011-03-20
    • 1970-01-01
    • 2014-06-27
    • 1970-01-01
    • 2015-07-09
    • 2014-03-25
    • 2012-12-01
    • 2014-08-29
    相关资源
    最近更新 更多