我有以下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的正确方法是什么?
答案 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>`
这将链接如下(按某种顺序):
mysite
htdocs
的目录(或符号链接)
wwww
htdocs
的目录(或符号链接)
wwww.mysite.com
的页面,该页面应与您链接它的页面位于同一目录中。因此,如果您从htdocs/www/index.html
链接它,它将指向htdocs/www/wwww.mysite.com
。如果您的地址包含域名,请始终使用http://
。page1.html
的页面,该页面与您链接的页面位于同一目录中。如果您从htdocs/www/SomeTopic/page99.html
链接,则会指向htdocs/www/SomeTopic/page1.html
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,所有导航都可以在那里工作。