如何在不破坏 WordPress 的情况下使用 .htaccess 将参数添加到 URL

How to add a parameter to a URL using .htaccess without breaking WordPress

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

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

首先我在添加参数时无法登录,但这就是为什么我添加了带有REQUEST_URI的RewriteCond。

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

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

RewriteEngine on

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

我也试过改

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

RewriteCond %{REQUEST_URI} !^wp-*

但随后我收到更新页面失败的错误消息。添加新页面时,我收到 'Publish failed' 消息。

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

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

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

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