【问题标题】:Domain doesn't work without `www`没有 `www` 域无法工作
【发布时间】:2012-04-25 12:00:33
【问题描述】:

当我在没有www(如http://example.com)的情况下输入我的域名时,它不起作用并给出错误消息。但是,当我将www 添加到它(如http://www.example.com)时,它可以工作。

它不应该双向工作吗(有和没有www)?

【问题讨论】:

    标签: .htaccess web dns subdomain


    【解决方案1】:

    您只需将以下代码添加到您的根.htaccess 文件中:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
    

    【讨论】:

    • 如果您向人们解释这实际上是做什么的,那就太好了。这是一个使用相同代码的博客dense13.com/blog/2008/02/27/…
    • 感谢@trainoasis 提供链接。它应该是不言自明的。它将 www 添加到域和任何子域或子文件夹等等......
    • 您需要了解正则表达式才能破译代码。第二行表示:如果 HTTP_HOST 不是 (!) 以 (^) "www." 开头,则将其放入内存中以供下一行使用。下一行说:从上一行捕获的内容中,匹配从开头 (^) 到结尾 ($) 的所有内容 (.*),并将所有内容(括号内)保存为 $1。然后将 $1 替换为“www”。加上 HTTP_HOST 变量。
    • 在哪里添加这些代码?跟后端语言有关系吗?
    • 我尝试使用此代码,但它对我不起作用。当我尝试在没有 www 的情况下访问我的网站时出现禁止错误。
    【解决方案2】:

    使用当前版本的apache,你需要做以下事情,与之前的版本相比有所改变:

    cd /etc/apache2/sites-enabled
    

    现在找到您的域的配置文件并编辑它(<VirtualHost *:80> 之后的前三行是我们需要的):

    <VirtualHost *:80>
            ServerName www.yourdomain.com
            ServerAlias yourdomain.com *.yourdomain.com
            ServerAdmin webmaster@localhost
    
            <Directory />
                    Options FollowSymLinks
                    AllowOverride None
            </Directory>
    
    </VirtualHost>
    

    现在保存对文件的更改后,您应该重新加载 Apache 我们的服务器配置:

    service apache2 reload
    

    它会起作用的!

    附:您可能还不想将*.yourdomain.com 添加到ServerAlias 行的末尾。

    【讨论】:

    • ServerAlias www.yourdomain.com yourdomain.com 有效。谢谢。
    • @node_saini 如果对您有帮助,请为答案投票。 :-)
    • 完成 :) 但这是正确的做法吗?不会有什么问题吧?
    • @node_saini 是的!您对您认为有帮助的问题和答案进行投票。其他人也应该这样做。 :-)
    • 毫无疑问,它帮助了我,但解决问题有正确的方法和错误的方法,错误的方法并不意味着它不起作用,它会起作用,但它不是正确的方法。这是我唯一关心的 :)
    【解决方案3】:

    解决这个问题

    • 假设你想要mysubdomain.domain1.com

    • domain1.com的网络面板(cpanel、vestapanel 等)中转到您的 dns 记录设置

    • domain1.comip 添加新的A record 并用@ 填写记录/主机名字段 // @ 表示没有www 如果你想要www 然后添加另一个新的A record 并将@ 替换为 www

    • 保存

    • 等待 dns 更改发生可能需要几个小时

    【讨论】:

      【解决方案4】:

      或者,如果您使用 GoDaddy 和谷歌应用程序,您当然可以按照以下步骤解决此问题:

      1. 转到 Google Apps 并登录到域管理。

      2. 然后点击域设置。

      3. 然后点击域名。

      4. 然后单击突出显示的字词以通过谷歌应用程序设置重定向,您应该会在 3 小时或 MAX 2 天内看到它完成(尽管在极少数情况下通常不会超过一天)。只需按照那里有简单的英文说明,你应该看到它完成了。

      更多细节和参考:

      http://www.techproceed.com/2014/05/custom-domain-setup-on-blogger-with.html

      【讨论】:

        【解决方案5】:

        您需要将所有完整的 url 更改为路径。如果您的 php 包含或其他进程使用 url 链接,它只会以一种方式工作。

        $.ajax(
        {       
            url:'/LAYOUT/process.php'
        }
        

        与完整的网址相反

        $.ajax(
        {       
            url:'https://www.yourdomain.com/LAYOUT/process.php'
        }
        

        使用简单的路径将允许它在有或没有 www 的情况下双向工作。

        【讨论】:

          【解决方案6】:

          首先访问您的域名提供商网站。 第二次去dns记录。 第三个添加A记录IP去这个link

          并复制4A记录并添加dns。

          【讨论】:

            猜你喜欢
            • 2015-01-15
            • 1970-01-01
            • 1970-01-01
            • 2020-04-29
            • 2013-10-23
            • 2017-12-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多