Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML导航错误。如何处理www.website.com与website.com?html中的正确导航?_Html_Navigation_No Www - Fatal编程技术网

HTML导航错误。如何处理www.website.com与website.com?html中的正确导航?

HTML导航错误。如何处理www.website.com与website.com?html中的正确导航?,html,navigation,no-www,Html,Navigation,No Www,我有以下html代码: <div id="page"> <a class="topNavigationLink" href="http://MyOwnWebsite.com/">Home</a> <a class="topNavigationLink" href="page1.html">page1</a> <a class="topNavigationLink" href="page2.html">

我有以下html代码:

<div id="page">
    <a class="topNavigationLink" href="http://MyOwnWebsite.com/">Home</a>
    <a class="topNavigationLink" href="page1.html">page1</a>
    <a class="topNavigationLink" href="page2.html">page2</a>
</div>
我做错什么了吗?处理www.website.com与处理website.com的正确方法是什么?

如果您拥有对Web主机的root(和ssh)访问权限,您应该在htdocs目录中添加一个指向www文件夹的符号链接。htdocs文件夹中的所有目录都被Web服务器视为子域。因此,如果DNS记录将您指向通配符子域的服务器,您的Web服务器将处理子域的进一步处理。因此,此符号链接将使您的服务器为www.mysite.com和mysite.com加载相同的内容

cd /patch/to/htdocs
ln -s www mysite
将mysite替换为您的域名,但不带国家后缀和www前缀。它应该给你这样的东西:

[vhostxxxx@ssh:~/domains/mysite.com/htdocs]$ ls -l
total 3 
lrwxrwxrwx  1 vhostxxxx vhostuser  3 2012-11-10 12:47 mysite -> www
drwxr-xr-x+ 9 vhostxxxx vhostuser 20 2012-11-13 21:52 www`
现在,如果我浏览mysite.com,我会看到与www.mysite.com相同的网站

cd /patch/to/htdocs
ln -s www mysite
至于导航中的链接:

`<div id="page">
    <a class="topNavigationLink" href="http://mysite.com/">Home</a>
    <a class="topNavigationLink" href="http://wwww.mysite.com">Home</a>
    <a class="topNavigationLink" href="wwww.mysite.com">Home</a>
    <a class="topNavigationLink" href="page1.html">page1</a>
    <a class="topNavigationLink" href="/page2.html">page2</a>
</div>`
`
`
这将链接如下(按一定顺序):

  • htdocs
  • htdocs
  • 这是错误的。它将指向一个名为
    www.mysite.com
    的页面,该页面应与链接它的页面位于同一目录中。因此,如果您从
    htdocs/www/index.html
    链接它,它将指向
    htdocs/www/wwww.mysite.com
    。如果您的地址包含域,请始终使用http://
  • 指向名为
    page1.html
    的页面,该页面与链接它的页面位于同一目录中。如果您从
    htdocs/www/sometico/page99.html链接它,它将指向
    htdocs/www/sometico/page1.html
  • 指向名为
    page2.html
    的页面,该页面位于文档根目录中。如果您从
    htdocs/www/SomeTopic/page99.html
    链接它,它将指向
    htdocs/www/page1.html
  • 如果您具有对webhost的root(和ssh)访问权限,则应在htdocs目录中向您的www文件夹添加一个符号链接。htdocs文件夹中的所有目录都被Web服务器视为子域。因此,如果DNS记录将您指向通配符子域的服务器,您的Web服务器将处理子域的进一步处理。因此,此符号链接将使您的服务器为www.mysite.com和mysite.com加载相同的内容

    cd /patch/to/htdocs
    ln -s www mysite
    
    将mysite替换为您的域名,但不带国家后缀和www前缀。它应该给你这样的东西:

    [vhostxxxx@ssh:~/domains/mysite.com/htdocs]$ ls -l
    total 3 
    lrwxrwxrwx  1 vhostxxxx vhostuser  3 2012-11-10 12:47 mysite -> www
    drwxr-xr-x+ 9 vhostxxxx vhostuser 20 2012-11-13 21:52 www`
    
    现在,如果我浏览mysite.com,我会看到与www.mysite.com相同的网站

    cd /patch/to/htdocs
    ln -s www mysite
    
    至于导航中的链接:

    `<div id="page">
        <a class="topNavigationLink" href="http://mysite.com/">Home</a>
        <a class="topNavigationLink" href="http://wwww.mysite.com">Home</a>
        <a class="topNavigationLink" href="wwww.mysite.com">Home</a>
        <a class="topNavigationLink" href="page1.html">page1</a>
        <a class="topNavigationLink" href="/page2.html">page2</a>
    </div>`
    
    `
    `
    
    这将链接如下(按一定顺序):

  • htdocs
  • htdocs
  • 这是错误的。它将指向一个名为
    www.mysite.com
    的页面,该页面应与链接它的页面位于同一目录中。因此,如果您从
    htdocs/www/index.html
    链接它,它将指向
    htdocs/www/wwww.mysite.com
    。如果您的地址包含域,请始终使用http://
  • 指向名为
    page1.html
    的页面,该页面与链接它的页面位于同一目录中。如果您从
    htdocs/www/sometico/page99.html链接它,它将指向
    htdocs/www/sometico/page1.html
  • 指向名为
    page2.html
    的页面,该页面位于文档根目录中。如果您从
    htdocs/www/SomeTopic/page99.html
    链接它,它将指向
    htdocs/www/page1.html

  • 你应该做的第一件事是使用相对链接。

    这就是说,你应该检查你的域名的DNS记录,一个记录要有一个“*”记录,这个记录会占用你的所有子域,包括“www”,并将它们指向你的服务器

    或者,如果你不需要全部,你可以只放“www”

    您可以在注册器的控制面板中执行此操作

    导航中的链接没有前导正斜杠


    创建您的相对链接
    /page_x.html
    ,而不仅仅是
    page_x.html
    您应该做的第一件事是使用相对链接。

    这就是说,你应该检查你的域名的DNS记录,一个记录要有一个“*”记录,这个记录会占用你的所有子域,包括“www”,并将它们指向你的服务器

    或者,如果你不需要全部,你可以只放“www”

    您可以在注册器的控制面板中执行此操作

    导航中的链接没有前导正斜杠


    创建您的相对链接
    /page_x.html
    ,而不仅仅是
    page_x.html

    当您位于当前url时,导航有一个常见错误

    http://www.mywebsite.com/home/index.html

    您有一个锚定标签,格式如下:

    单击此链接时,您将被重定向到:

    http://www.mywebsite.com/home/page1.html

    这是因为
    href=“page1.html”
    是一个相对链接,url的基础是
    /home/

    解决方案: 如果要访问:

    http://www.mywebsite.com/home/page1.html

    你将不得不添加一个正斜杠到你的链接。例如:


    这将有一个根域的基础
    /

    当您位于当前url时,导航有一个常见错误

    http://www.mywebsite.com/home/index.html

    你有一个锚定标签