Mod rewrite 重写规则只会转到301而不是404

Mod rewrite 重写规则只会转到301而不是404,mod-rewrite,apache2,Mod Rewrite,Apache2,应用的重写规则只重定向301,而不重定向404,即使404位于301之前 <If "%{HTTP_HOST} =~ /abc(\.co)?\.in$/"> RewriteEngine on RewriteRule ^/wp-content/uploads/01/(.*)$ - [L,R=404] RewriteRule ^/wp-content/uploads/02/(.*)$ - [L,R=404] RewriteRule ^.*$ https://abc/ [QSD,L,R=30

应用的重写规则只重定向301,而不重定向404,即使404位于301之前

<If "%{HTTP_HOST} =~ /abc(\.co)?\.in$/">
RewriteEngine on
RewriteRule ^/wp-content/uploads/01/(.*)$ - [L,R=404]
RewriteRule ^/wp-content/uploads/02/(.*)$ - [L,R=404]
RewriteRule ^.*$ https://abc/ [QSD,L,R=301]
</If>

重新启动发动机
重写规则^/wp content/uploads/01/(.*)$-[L,R=404]
重写规则^/wp content/uploads/02/(.*)$-[L,R=404]
重写规则^.*$https://abc/ [QSD,L,R=301]
预期结果是在所有url上返回404,其中包含wp content/uploads/01和02文件夹

目前,所有的url都返回301,包括wp内容。 不知道怎么了


你认为添加条件语句会有帮助吗?但这里的问题是,许多其他if语句都有其他规则。

发现这是RegEx的问题。需要避开正斜杠

^.*\/wp-content\/uploads\/(01|02)\/(.*) - [L,R=404]

https://example.com/wp-content/uploads/01/asd

如果您尝试
wp content/uploads/01/
与以前一样。是的,还是301