尝试从管理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主题都处于活动状态?
答案 0 :(得分:2)
您始终可以在.htaccess
文件中添加条件重写规则。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^10.1.245.106$ [OR]
RewriteRule (.*)$ http://example.com/$1 [R=301,L]