htaccess - 将所有 EN 页面设置为状态代码 410

htaccess - Set all EN pages to statuscode 410

我正在尝试将网站的所有 EN 页面设置为状态代码 410。URL 如下所示:

https://example.com/en/terms-and-conditions/
https://example.com/en/sitemap/
https://example.com/en/category/page-1/
https://example.com/en/category/page-2/
https://example.com/en/category/page-3/subpage-1/

我尝试了不同的方法,但 none 有效:

RewriteEngine On
RewriteRule ^/en(/.*)?$  - [G,NC]

这也没有用:

RewriteEngine On
RewriteRule ^/en(.*)$ - [NC,R=410,L]

我做错了什么?

当在 .htaccess 中使用重写规则时,URL 路径不以 / 开头,因为这是重写规则的当前“基础”。这与在 Apache 的 .conf 文件中使用重写规则时不同,其中路径 /.

开头

我建议通过将起始斜杠设为可选来编写可在任一位置使用的规则。您只需要在起始斜杠后添加一个 ?

RewriteEngine On
RewriteRule ^/?en(/.*)?$  - [G,NC]