.htaccess 重定向精确页面而不是查询字符串

.htaccess Redirect for exact page but not query strings

我们一直在尝试使用 .htaccess 规则为 BuddyPress 消息撰写页面创建动态重定向。我希望撰写区域无法访问,但是当有人单击某人个人资料上的“私人消息”按钮时,他们仍然可以访问该页面并向用户发送消息。

我找到了这个 post,但我的重定向无法正常工作 - htaccess redirect exact match, exclude all query strings

撰写区域可以很好地重定向到主页,但是在尝试向用户发送消息期间添加查询字符串时,我们将被重定向到主页,但查询字符串仍保留在 URL .

这是我正在使用的:

RewriteEngine On
RewriteBase /
RewriteRule ^members/([\w-]+)/messages/compose/?$ / [L,R=302]

如有任何帮助,我们将不胜感激。

谢谢。

这应该适合你。请记住将代码放在 htaccess 的顶部或其他指令之前。

RewriteEngine on

#Redirect the URL to / if no query string is present
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^members/([\w-]+)/messages/compose/?$ / [L,R=302]

这对我有用。谢谢大家的建议。

# Redirect only when there is no query string present
RewriteEngine on
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^members/([\w-]+)/messages/compose/$ / [R=302,L]