WordPress从IP重定向到域名

时间:2017-01-25 14:33:14

标签: php wordpress apache .htaccess redirect

尝试从管理GUI中WordPress Address (URL)Site Address (URL)Settings -> General设置的设置角度准确了解WordPress的工作原理。

我在内部环境中全新安装了WordPress 4.7.1,其专用IP为10.1.245.106

对于管理GUI中WordPress Address (URL)下的Site Address (URL)Settings -> General设置,我将它们设置为http://www.example.com

Settings -> Permalinks下,我将其设置为Post name

有效主题为Twenty Seventeen

在我机器上的本地主机文件中,我有以下设置。

10.1.245.106 example.com
10.1.245.106 www.example.com

.htaccess文件看起来像这样......

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

当我在网络浏览器中输入10.1.245.106并按回车键时,我将被带到http://10.1.245.106

我的印象是WordPress会使用Site Address (URL)设置中设置的内容,并会进行重定向并转到http://www.example.com

我实际上以为我记得我的另一个网站就是这样工作的,所以我开始深入研究为什么它不会发生在我正在搞乱的这个新网站上。

我尝试从WordPress主题存储库中安装几个不同的主题,但这并没有像我期望的那样使重定向工作。

我决定安装并激活Enfold主题,这是我记得从网站重定向到域名的网站上当前活动的主题。

果然,在安装并激活Enfold主题后,在我的网络浏览器中输入10.1.245.106然后按Enter键,我就会被带到http://www.example.com

我甚至进入数据库并将WordPress Address (URL)Site Address (URL)设置的值更改为http://www.exampleblahblahblah.com,然后在我的网络浏览器中输入10.1.245.106并按Enter键。果然,我被重定向到http://www.exampleblahblahblah.com。但是没有渲染,因为我的本地主机文件中没有该域名的条目。

我挖掘了Enfold主题,并且在主题代码中看不到任何可能会执行此重定向的内容!

我是否正确地说WordPress核心不会在Site Address (URL)设置中设置从IP到域名的重定向?

由于我无法在Enfold主题中找到正在执行此重定向的任何内容,是否有人知道在Enfold主题处于活动状态时它将如何发生,但不会什么时候WordPress主题存储库中可用的任何核心WordPress主题都处于活动状态?

1 个答案:

答案 0 :(得分:2)

您始终可以在.htaccess文件中添加条件重写规则。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^10.1.245.106$ [OR]
RewriteRule (.*)$ http://example.com/$1 [R=301,L]