【发布时间】:2017-01-25 14:33:13
【问题描述】:
试图从管理 GUI 中 Settings -> General 下的 WordPress Address (URL) 和 Site Address (URL) 设置的角度来准确了解 WordPress 的工作原理。
我在专用 IP 为 10.1.245.106 的内部环境中全新安装了 WordPress 4.7.1
对于管理 GUI 中 Settings -> General 下的 WordPress Address (URL) 和 Site Address (URL) 设置,我将它们都设置为 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 主题,这是我记得从 IP 重定向到域名的网站上当前活动的主题。
果然,在安装并激活Enfold 主题后,然后在我的网络浏览器中输入10.1.245.106 并按回车,我被带到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 核心不会将 IP 重定向到 Site Address (URL) 设置中设置的域名?
而且由于我在 Enfold 主题中找不到任何执行此重定向的内容,是否有人知道当 Enfold 主题处于活动状态时会发生什么,但在任何核心 WordPress 主题中都不知道WordPress 主题存储库中可用的主题是否处于活动状态?
【问题讨论】:
-
Wooow....我有一半希望读到你昨晚吃的东西 ;-) 无论如何,我的理解是它是一个自定义的重写规则,可能在模板中使用你提到:codex.wordpress.org/Rewrite_API/add_rewrite_rule
-
搜索了
Enfold主题的所有文件,add_rewrite_rule的结果为零
标签: php wordpress apache .htaccess redirect