将一个主页重写为 404 而不是其他页面

Rewrite one main page to 404 but not other ones

我有以下三个重写规则,这些规则可以根据用户的身份将用户引导至付款表单,这很好用:

RewriteRule ^/marketing/staff$ https://www.example.com/marketing/payroll/forms/salary-payment-form.shtml?stafftype=EXAMPLE [R,L]

RewriteRule ^/marketing/other-staff$ https://www.example.com/marketing/payroll/forms/salary-payment-form.shtml?stafftype=HR [R,L]

RewriteRule ^/marketing/other2-staff$  https://www.example.com/marketing/payroll/forms/salary-payment-form.shtml?stafftype=EXAMPLE\ Commercial\ Ltd [R,L]

我想制定一条规则,这样如果有人去主 url 他们只会得到 404 - 我尝试在下面添加 url 但它不起作用:

RewriteCond %{REQUEST_URI} ^/marketing/payroll/forms/salary-payment-form.shtml$
RewriteRule ^/marketing/payroll/forms/salary-payment-form.shtml$ - [R=404,L]

当我把它放在上面所有的 url 中时,它们都得到 404 - 我如何限制它,以便上面的主要 url 给出 404 而不是重定向到的那些特定页面 ?

试试这个(%{QUERY_STRING} 不是 %{REQUEST_URI} 的一部分):

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^/marketing/payroll/forms/salary-payment-form.shtml$ - [R=404,L]