我正在开发一个wordpress网站。
当我访问没有www的网站时,它只显示一个空白页面。但如果我用www给地址,它就会正常打开。
mysite.com (showing blank page)
www.mysite.com (showing site properly)
这里还有一个问题是,对于子页面,如果我不给出' /'在URL的末尾,它再次显示空白页面。如果我给' /'最后它显示得很好。
www.mysite.com/page1 (blank page)
www.mysite.com/page1/ (showing the page)
如何解决此问题?
答案 0 :(得分:1)
问题不在于WordPress系统本身,而在于Apache配置,很可能是.htaccess
文件。
在www.
之前添加域名只是一个受欢迎的选择。网站可以拥有任何有效的完全限定域名。如果您拥有域example.com,则什么都不会阻止您运行名为superchickens.example.com
的网站。
在实践中,用户期望两件事,如果您不提供,用户将会感到沮丧并且找不到您的网站:
如果您的域名为example.com
,则当用户在地址栏中输入example.com并按Enter键时,您的网站需要回复,因为这很方便。
当用户输入www.example.com
时,您的网站也应使用相同的内容进行回复,因为www.
前缀非常常见,许多用户会认为他们必须提供此前缀。
那你怎么做的?如果您从网络托管公司支付服务,而www.example.com
有效,但example.com
没有,则您的托管公司需要修复那对你来说。 联系技术支持,让他们知道如果他们没有及时解决,您将转换托管公司。没有正当理由说他们不能让这两个名字都适合你。这是对Web服务器配置的一个非常简单的更改,他们应该为每个新客户自动执行此操作。
但是,如果您正在运行网络服务器自己 - 可能是因为您经营一家网络托管公司 - 以下是您需要执行此项工作的步骤:
调整example.com的DNS设置。确保您具有example.com和www.example.com
的地址记录(类型A记录),具有相同的IP地址。对于Windows和Linux DNS服务器来说,这并不难。
如果您使用虚拟主机在单个IP地址上提供许多网站,您还需要告知您的网络服务器有关该网站的替代名称。在Web服务器的配置中,添加example.com作为www.example.com的别名。在Apache服务器httpd.conf
文件中,这通常如下所示:
<VirtualHost *>
DocumentRoot /home/www/web
ServerName www.example.com
ServerAlias example.com
</VirtualHost>
只有ServerAlias
指令是新的。其余部分显示为提供背景。您的Apache VirtualHost
配置可能不完全相同。
编辑配置文件后,必须发信号通知Apache Web服务器以重新加载其配置。在典型的Unix系统上,可以使用以下命令完成此操作:
service httpd reload
您也可以阅读this Stackoverflow问题。