wordpress 中的 .htaccess 没有实现从 www 到非 www 的重定向
.htaccess in wordpress is not implementing the redirect from www to non-www
我正在研究 wordpress。我想应用从 www 到非 www 的重定向。
网上有很多解决方案,但没有一个对我有用,可能是因为 wordpress 中的 htaccess 工作方式不同?
# BEGIN WordPress
# Директивы (строки) между `BEGIN WordPress` и `END WordPress`
# созданы автоматически и подлежат изменению только через фильтры WordPress.
# Сделанные вручную изменения между этими маркерами будут перезаписаны.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTP_HOST} ^www\.eepir\.oxem\.ru [NC]
RewriteRule ^(.*)$ http://eepir.oxem.ru/ [L,R=302]
</IfModule>
# END WordPress
这是我的代码,我实际上尝试 post # BEGIN WORDPRESS 之外的规则但没有结果
谢谢。
RewriteCond %{HTTP_HOST} ^www\.eepir\.oxem\.ru [NC]
RewriteRule ^(.*)$ http://eepir.oxem.ru/ [L,R=302]
您将这些“重定向”指令放在了错误的位置。他们需要放在文件的顶部,在 # BEGIN WordPress
部分 之前。
通过将它们放在 WordPress 前端控制器之后,它们将永远不会被处理为静态资源以外的任何东西,因为请求已经被路由到 /index.php
。此时停止处理。
您永远不应手动编辑 # BEGIN WordPress
和 # END WordPress
注释标记之间的代码,因为此代码块由 WordPress 本身维护,您的更改可能会被覆盖。
...但是我在你昨天的问题中涵盖了所有这些?
您还需要将 WordPress 本身配置为使用非 www 主机名。 IE。 WP_HOME
和 WP_SITEURL
- 都应在仪表板中设置。
maybe because htaccess in wordpress works differently
.htaccess
在 WordPress 上的工作方式与其他任何东西一样。 .htaccess
与 WordPress 本身并没有太大关系。
UDPATE: 似乎 www.eepir.oxem.ru
没有配置 DNS,所以请求甚至没有到达您的服务器(为了进行重定向)。您需要在 DNS 中为 www.eepir.oxem.ru
配置适当的 A
记录,就像您为 eepir.oxem.ru
所做的那样,并将您的服务器配置为接受对 www.eepir.oxem.ru
的请求(如果还没有) .然后你的重定向应该工作。
我正在研究 wordpress。我想应用从 www 到非 www 的重定向。 网上有很多解决方案,但没有一个对我有用,可能是因为 wordpress 中的 htaccess 工作方式不同?
# BEGIN WordPress
# Директивы (строки) между `BEGIN WordPress` и `END WordPress`
# созданы автоматически и подлежат изменению только через фильтры WordPress.
# Сделанные вручную изменения между этими маркерами будут перезаписаны.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTP_HOST} ^www\.eepir\.oxem\.ru [NC]
RewriteRule ^(.*)$ http://eepir.oxem.ru/ [L,R=302]
</IfModule>
# END WordPress
这是我的代码,我实际上尝试 post # BEGIN WORDPRESS 之外的规则但没有结果
谢谢。
RewriteCond %{HTTP_HOST} ^www\.eepir\.oxem\.ru [NC] RewriteRule ^(.*)$ http://eepir.oxem.ru/ [L,R=302]
您将这些“重定向”指令放在了错误的位置。他们需要放在文件的顶部,在 # BEGIN WordPress
部分 之前。
通过将它们放在 WordPress 前端控制器之后,它们将永远不会被处理为静态资源以外的任何东西,因为请求已经被路由到 /index.php
。此时停止处理。
您永远不应手动编辑 # BEGIN WordPress
和 # END WordPress
注释标记之间的代码,因为此代码块由 WordPress 本身维护,您的更改可能会被覆盖。
...但是我在你昨天的问题中涵盖了所有这些?
您还需要将 WordPress 本身配置为使用非 www 主机名。 IE。 WP_HOME
和 WP_SITEURL
- 都应在仪表板中设置。
maybe because htaccess in wordpress works differently
.htaccess
在 WordPress 上的工作方式与其他任何东西一样。 .htaccess
与 WordPress 本身并没有太大关系。
UDPATE: 似乎 www.eepir.oxem.ru
没有配置 DNS,所以请求甚至没有到达您的服务器(为了进行重定向)。您需要在 DNS 中为 www.eepir.oxem.ru
配置适当的 A
记录,就像您为 eepir.oxem.ru
所做的那样,并将您的服务器配置为接受对 www.eepir.oxem.ru
的请求(如果还没有) .然后你的重定向应该工作。