【问题标题】:Redirecting URL without www to www将不带 www 的 URL 重定向到 www
【发布时间】:2010-02-16 10:36:12
【问题描述】:

我需要你的帮助。我想测试输入的网址是否没有www

like example.com 应该转发到www.example.com

【问题讨论】:

    标签: mod-rewrite url-rewriting isapi-rewrite


    【解决方案1】:

    试试这个 mod_rewrite 规则:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    

    【讨论】:

    • 注意:这也会将 something.example.com 重定向到 www.example.com
    • @Piskvor:不,它会将其重定向到 www.something.example.com
    • 感谢您的回复。但是 i 是什么意思 R=301?
    • @basit74:R 标志强制进行外部重定向,301 是响应的状态码。
    • 我的立场是正确的。 @basit74:R=301 表示带有代码 301 的 HTTP 重定向(永久移动)。
    【解决方案2】:
    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
    RewriteRule ^.*$ http://www.example.com/$0 [NC,L,R=301]
    

    【讨论】:

      【解决方案3】:

      如果您使用的是nginx,则将此行添加到nginx config

      server {
        listen 80;
        server_name yourdomain.com;
        rewrite ^/(.*) http://www.yourdomain.com/$1 permanent;
      }
      

      【讨论】:

        猜你喜欢
        • 2011-06-24
        • 2019-03-09
        • 2011-11-05
        • 2013-12-20
        • 2015-08-03
        • 1970-01-01
        • 1970-01-01
        • 2016-10-14
        • 1970-01-01
        相关资源
        最近更新 更多