WP 火箭防止 301 重定向到 URL 尾部斜杠

WP rocket prevent 301 redirect to URL with trailing slash

当用户使用 url 访问我的网站时:

示例。com/post-name

Wordpress 应该执行 301 重定向到:

示例。com/post-name/

但由于 WP Rocket 缓存插件,它无法正常工作(我不知道为什么会这样,但 WP Rocket 肯定是问题所在)

用尾部斜线执行 wp_redirect 到 url 可以吗? 除了 .htaccess redirect?

还有其他解决方案吗?

为了防止 WordPress and/or 插件的任何干预,您可以尝试通过 .htaccess (Apache) 强制尾部斜杠:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !/wp-json/ [NC]
RewriteCond %{REQUEST_URI} !/wp-admin/ [NC]
RewriteCond %{REQUEST_URI} !(/$|\.) 
RewriteRule (.*[^\/])$ %{REQUEST_URI}/ [R=301,L] 
</IfModule>

RewriteRule 匹配任何路径 没有 通过 mod_rewrite 的尾部斜杠(如果启用)并重定向到相同的路径 with 尾部斜杠。

RewriteCond 排除 /wp-json/wp-admin/ 文件夹中的路径,以及带点的路径,表示具有扩展名的文件(例如 .jpg.css 等).

/wp-json/wp-admin/ 文件夹中强制使用尾部斜杠可能会导致 WordPress 管理面板和完整站点编辑出现问题。