无法从内部网访问Wordpress门户
我正在尝试使用Wordpress为我的组织构建门户。无法从内部网访问Wordpress门户,wordpress,apache,virtualhost,windows-server-2008-r2,wampserver,Wordpress,Apache,Virtualhost,Windows Server 2008 R2,Wampserver,我正在尝试使用Wordpress为我的组织构建门户。 我已经安装了windows server 2008 R2、Wampserver 2.5和WP 3.9.1。 我按照Wampserver指南为站点设置虚拟主机 在服务器上,一切正常。地址栏上的Localhost显示Wamp的主页,指向站点的链接只显示站点的名称(不带Localhost),当我单击它时,它将加载ok 问题是当试图从内部网上的客户机访问它时。 在地址栏中写入服务器名称时,我可以毫无问题地获得Wamp的主页 指向该站点的链接仅显示该站
我已经安装了windows server 2008 R2、Wampserver 2.5和WP 3.9.1。
我按照Wampserver指南为站点设置虚拟主机 在服务器上,一切正常。地址栏上的Localhost显示Wamp的主页,指向站点的链接只显示站点的名称(不带Localhost),当我单击它时,它将加载ok 问题是当试图从内部网上的客户机访问它时。
在地址栏中写入服务器名称时,我可以毫无问题地获得Wamp的主页 指向该站点的链接仅显示该站点的名称,当我单击它时,会收到一条错误消息,表示浏览器无法在该地址找到服务器 当我手动在地址栏中写入服务器的名称/站点的名称时,我确实到达了该站点,但它已断开-仅显示文本 我的设置有什么问题 这是httpd.conf的相关部分:
<Directory "c:/wamp/www/">
Options Indexes FollowSymLinks
AllowOverride all
</Directory>
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
选项索引跟随符号链接
允许超越所有
#虚拟主机
包括conf/extra/httpd-vhosts.conf
这是httpd-vhosts.conf文件:
<VirtualHost *:80>
DocumentRoot "c:/wamp/www"
ServerName localhost
ServerAlias localhost
<Directory "c:/wamp/www">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "c:/wamp/www/hista-portal"
ServerName hista-portal
<Directory "c:/wamp/www/hista-portal">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
DocumentRoot“c:/wamp/www”
服务器名本地主机
服务器别名本地主机
允许超越所有
要求所有授权
DocumentRoot“c:/wamp/www/hista门户”
服务器名hista门户
允许超越所有
要求所有授权
- 这是我问的另一个问题的继续,但由于情况已经发生了变化,在RiggsFolly的帮助下,有很多编辑,所以太复杂了,无法继续下去,我认为最好开始一个新的问题。我希望我没有违反网站的规则
- 问题已解决
嗯,有点
在Wordpress站点设置中,我在站点URL的开头添加了服务器的名称。
现在,在客户端机器上,当我在地址栏上写下服务器机器的名称/站点名称时,我到达了该站点,它工作得非常好。
以前,我只是收到了文字,因为所有的图片链接都是错误的 主Wamp站点中的链接仍然是错误的,但我真的不需要它。 不管怎样,我都会给门户网站的用户提供该网站的直接链接。好的 现在有很多让你跑步的方法和正确的方法 快速而肮脏的方式: Apache将VHOST文件中的第一个VHOST视为默认值,这就是为什么您当前访问的是WAMPServer主页,而不是WP站点。因此,您可以颠倒VHOST定义的顺序,如下所示:-
<VirtualHost *:80>
DocumentRoot "c:/wamp/www/hista-portal"
ServerName hista-portal
<Directory "c:/wamp/www/hista-portal">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "c:/wamp/www"
ServerName localhost
ServerAlias localhost
<Directory "c:/wamp/www">
AllowOverride All
Require local
</Directory>
</VirtualHost>
注意,我已使localhost要求本地
,因此任何意外访问都将返回错误,这有助于阻止仅使用ip地址的用户在您的站点上嗅探驱动器
请记住,您正在使用基于名称的虚拟主机,因此Apache非常希望看到浏览器发送的名称与虚拟主机定义中的一个服务器名相匹配。我会检查防火墙…谢谢,但服务器上没有防火墙。好的,第一种方法可以很好地工作,但必须添加在WP设置中也必须更改站点地址,这意味着必须删除站点名称,并且只留下服务器计算机名称(在本例中)。为什么第二种方法更好?仅仅是因为您的用户可以使用可记忆的名称而不是ip地址。同样,方法一在Apache上实现了退回到默认值,而不是转到特定的站点地址,因此它只适用于一个站点,如果您有两个站点想要提供服务,则不适用。你是对的,该网站将不得不修复使用新域名正常工作,但这是记录在可湿性粉剂网站。基本上,如果你想为WordPress站点提供服务器,最好从VirtualHosts开始,而不是以后添加。实际上,我使用的是站点名称,而不是ip地址。但是我已经把我的网站改成了一个多网站,现在我不能进入子网站了,因为名字太乱了。那么你是说第二种方法应该解决这个问题?现在我组织中的IT人员说我不能使用方法2,因为它是一个外部服务,门户位于一个安全的内部网中。因此,我必须以某种方式使用方法1。我们让it人员将您的站点名称添加到公司DNS
<VirtualHost *:80>
DocumentRoot "c:/wamp/www"
ServerName localhost
ServerAlias localhost
<Directory "c:/wamp/www">
AllowOverride All
Require local
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "c:/wamp/www/hista-portal"
ServerName hista-portal
<Directory "c:/wamp/www/hista-portal">
AllowOverride All
Require local
# maybe also allow access from your local lan
Require ip 192.168.1
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "c:/wamp/www/hista-portal"
ServerName hista-portal.dyndns.net
<Directory "c:/wamp/www/hista-portal">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>