首页 > 解决方案 > 如何在不破坏 WordPress 的情况下使用 .htaccess 向 URL 添加参数

问题描述

我需要在不破坏 WordPress 功能的情况下向 URL 添加参数。

在此处的许多帖子的帮助下,我已经解决了添加参数的部分。

首先,当我添加参数时我无法登录,但这就是我添加带有 REQUEST_URI 的 RewriteCond 的原因。

但现在我无法在我的 WordPress 网站上发布页面。当我登录到 WordPress 的后端,并添加一个新页面并发布它时,它不应该丢弃更改并“重新发布”当前版本,也不应该给出发布/更新失败消息。目前看起来它只是恢复到当前版本,但显示页面已成功发布的消息。或者它会给出一个错误,具体取决于使用哪个 RewriteCond / REQUEST_URI 行。

这就是我现在的 .htaccess 中的内容

RewriteEngine on

RewriteCond %{REQUEST_URI} !^(/wp-login.*|/wp-admin)
RewriteCond %{QUERY_STRING} ^(?!key)
RewriteRule ^(.*)$ $0?key=value[QSA,L,NC,NE,R]

我也尝试过改变

RewriteCond %{REQUEST_URI} !^(/wp-login.*|/wp-admin)

RewriteCond %{REQUEST_URI} !^wp-*

但后来我收到更新页面失败的错误。添加新页面时,我收到“发布失败”消息。

每个 URL 都应该附加 ?key=value,除了带有 wp-login.php 或 wp-admin 的 URL,而不会破坏 WordPress 后端的其他功能。

标签: wordpress.htaccessredirecthttp-get

解决方案


经过更多的挖掘,我自己解决了这个问题。

我添加了 RewriteCond %{HTTP_REFERER} !(/wp-login.*|/wp-admin)

现在键值对不会阻止 WordPress 保存帖子和页面。


推荐阅读