SSL和WWW到非WWW的重定向仅在主页上有效-WordPress

时间:2021-02-22 作者:kacperrro99

我在Wordpress网站上启用了SSL,并通过中的以下代码设置从www到非www的重定向。htaccess:

# REDIRECT WWW TO NON-WWW
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\\.example\\.com [NC]
RewriteRule (.*) https://example.com/$1 [L,R=301]
# REDIRECT HTTP TO HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
然而,它只在主页(example.com)上运行良好。我做错了什么?

1 个回复
最合适的回答,由SO网友:MrWhite 整理而成

您将指令放错了位置,Canonical重定向需要在# BEGIN WordPress 节(前控制器),否则,除了物理文件和目录之外,不会对它们进行任何处理。(主页映射到物理目录,因此重定向)。

出于某种原因,您还重复了WordPress前端控制器部分,但略有不同。你应该只有一个。

# BEGIN block author scans
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (author=\\d+) [NC]
RewriteRule .* - [F]
# END block author scans
此部分也位于错误的位置,需要在# BEGIN WordPress 部分您应该删除RewriteEngineRewriteBase 来自此块的指令。

相关推荐

Redirecting from login

我希望我的站点在登录到site\\u url(“/”)后,为除“administrator”之外的所有用户重定向。我还希望admin\\u栏显示特定角色ie event\\u planner。除了当和event\\u planner登录并单击管理栏进入管理时,它会重定向到“/”之外,其他功能都正常工作。用于重定向的挂钩是“admin\\u init”,这显然是错误的。是否有另一个钩子可以用来在登录时重定向到/而不是在按下管理栏上的仪表板时重定向。谢谢