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

时间:2012-11-17 06:26:36

标签: 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">page2</a>
</div>

当我浏览www.MyOwnWebsite.com然后点击导航链接时,一切都按预期工作。

但是如果我浏览到MYOWnWebsite.com(没有www)然后尝试导航到其中一个页面我收到错误:

Firefox can't find the file at http://MyOWnWebsite.com/page1.html.

我做错了吗?处理www.website.com与website.com的正确方法是什么?

4 个答案:

答案 0 :(得分:1)

如果您具有root(和ssh)访问webhost的权限,则应在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相同的网站。

至于导航中的链接:

`<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>`

这将链接如下(按某种顺序):

  1. mysite
  2. 中名为htdocs的目录(或符号链接)
  3. wwww
  4. 中名为htdocs的目录(或符号链接)
  5. 这是错的。它将指向一个名为wwww.mysite.com的页面,该页面应与您链接它的页面位于同一目录中。因此,如果您从htdocs/www/index.html链接它,它将指向htdocs/www/wwww.mysite.com。如果您的地址包含域名,请始终使用http://
  6. 到名为page1.html的页面,该页面与您链接的页面位于同一目录中。如果您从htdocs/www/SomeTopic/page99.html链接,则会指向htdocs/www/SomeTopic/page1.html
  7. 到名为page2.html的页面,位于文档根目录中。如果您从htdocs/www/SomeTopic/page99.html链接,则会指向htdocs/www/page1.html

答案 1 :(得分:1)

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

话虽如此,您应该检查您的域名的DNS记录,A记录要 A“*”记录,这会占用您所有的子域名,包括“www”,并将它们指向您的服务器。

或者如果你不需要所有,你可以只放“www”。

您可以在注册商的控制台中执行此操作。

导航中的内容是没有前导斜线的链接。

制作相关链接/page_x.html,而不只是page_x.html

答案 2 :(得分:1)

当你在当前网址时,这是导航的一个常见错误

  

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

你有这种形式的锚标记:

  

<a class="topNavigationLink" href="page1.html">page1</a>

点击此链接后,您将被重定向到:

  

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

这是因为href="page1.html"相对链接,网址的基础是/home/

解决方案:

如果您想访问:

  

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

您必须在链接中添加正斜杠。例如:

  

<a class="topNavigationLink" href="/page1.html">page1</a>

这将具有根域/

的基础

答案 3 :(得分:0)

为了解决这个问题,我做了以下工作:

进入我的主机gator控制面板 - &gt; 单击域重定向。 添加了http://website.com的永久重定向,以重定向到https://www.mysite.com

这样,每次用户在没有www的情况下访问mysite.com时,都会将其重定向到www.mysite.com,所有导航都可以在那里工作。