WordPress在更改URL后损坏

时间:2018-01-26 作者:Henrique Jacob

我有一个自托管WordPress(windows 2016和IIS)。

我的域名托管在namesheap上,所有DNS设置都已完成。重定向到我的IP是正确的。

但是,我的内部链接显示的是IP,而不是域。

我研究了一下,为了改变这一点,我发现我必须改变WP_SITEURLWP_HOME.

我的原始设置(IP假)

WP_SITEURL http://112.123.123.123:8085
WP_HOME http://112.123.123.123:8085

从以上情况来看,一切正常(但我在内部链接上获得了IP)

WP_SITEURL http://autocoaching.life
WP_HOME http://112.123.123.123:8085

通过上述方式,站点加载了已损坏的CSS,但仍在链接中显示为IP

WP_SITEURL http://autocoaching.life
WP_HOME http://autocoaching.life

这样就什么也做不到了,出现的是iis欢迎站点,而不是我的站点

我什么都试过了,谢谢你的帮助!

1 个回复
最合适的回答,由SO网友:janh 整理而成

您在WP中的配置通常是正确的,但您在NameSheap中启用了“转发”,它们只是重定向到您的IP。将其设置为真正的DNS—指向IP的条目。

然后将IIS设置为在端口80侦听。

作为参考,以下是我如何调试它的(我将用您使用的示例替换您的实际IP):

curl -v "http://autocoaching.life/"
* Hostname was NOT found in DNS cache
*   Trying 192.64.119.185...
* Connected to autocoaching.life (192.64.119.185) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.35.0
> Host: autocoaching.life
> Accept: */*
> 
< HTTP/1.1 302 Found
* Server nginx is not blacklisted
< Server: nginx
< Date: Fri, 26 Jan 2018 21:53:51 GMT
< Content-Type: text/html; charset=utf-8
< Content-Length: 49
< Connection: keep-alive
< Location: http://112.123.123.123:8085/
< X-Served-By: Namecheap URL Forward
< 
<a href=\'http://112.123.123.123:8085/\'>Found</a>.
http://112.123.123.123:8085/ 重定向到http://112.123.123.123/, 这就导致了可怕的IIS页面。

然而curl -v -H "Host: autocoaching.life" "http://167.114.6.216:8085" 看起来好多了,并为我们提供了正确的WP响应,因此您的IIS在主机名范围内设置正确,但它正在非标准端口上侦听,并且由于NameSheap重定向,它无法获得具有正确主机头的请求(我添加了curl)。

一旦您将DNS条目从HTTP转发到普通的a条目,并使IIS为该主机使用端口80,您就可以了。

如果出于某种原因,您不想使用端口80,也可以,但您必须设置WP以在URL中反映这一点,例如使用http://autocoaching.life:8085 并将其输入URL。

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register