WordPress中的.htaccess没有实现从www到非www的重定向

o75abkj4  于 2023-05-01  发布在  WordPress
关注(0)|答案(1)|浏览(172)

我在wordpress工作。我想应用一个从www到非www的重定向。网上有很多解决方案,但没有一个对我有用,也许是因为htaccess在wordpress中的工作方式不同?

# 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/$1 [L,R=302]


</IfModule>

# END WordPress

这是我的代码,我实际上试图在#开始之外发布规则,但没有结果
谢谢大家。

dnph8jn4

dnph8jn41#

RewriteCond %{HTTP_HOST} ^www\.eepir\.oxem\.ru [NC]
RewriteRule ^(.*)$ http://eepir.oxem.ru/$1 [L,R=302]

你把这些“重定向”指令放在了错误的地方。它们需要放在文件的顶部,before# BEGIN WordPress部分。
通过将它们放置在WordPress前端控制器之后,除了现有的静态资产之外,它们永远不会被处理,因为请求已经被路由到/index.php。此时停止处理。
你不应该手动编辑# BEGIN WordPress# END WordPress注解标记之间的代码,因为这个代码块是由WordPress自己维护的,你的更改可能会被覆盖。
...但我在你昨天的问题里都提到了?
htaccess redirect 301 is working but RewriteRule is not
您还需要配置WordPress本身以使用非www主机名。即WP_HOMEWP_SITEURL-两者都应在 Jmeter 板中设置。
也许是因为htaccess在wordpress中的工作方式不同
.htaccess在WordPress上的工作原理和其他任何东西一样。.htaccess与WordPress本身没有太大关系。

更新:www.eepir.oxem.ru似乎没有配置DNS,所以请求甚至没有到达您的服务器(重定向发生)。您需要在DNS中为www.eepir.oxem.ru配置相应的A记录,就像您为eepir.oxem.ru所做的那样,并配置您的服务器以接受对www.eepir.oxem.ru的请求(如果还没有)。那么你的重定向应该起作用了。

相关问题