我正在尝试删除一个 URL,因此在我的.htaccess
文件中输入了:
Redirect 410 /my-path
有用。
如果我尝试访问:
https://www.example.com/my-path
我得到:
已消失
所请求的资源在此服务器上不再可用,并且没有转发地址。请删除对此资源的所有引用。
问题是它也会影响所有子路径,所以如果我尝试访问https://www.example.com/my-path/sub-path
,我也会收到上述“Gone”消息。
我怎样才能通过 410 删除通向我的网站的一条特定路径?
答案1
您需要使用RedirectMatch
指令来代替,它使用正则表达式进行匹配,而不是前缀匹配:
RedirectMatch 410 ^/my-path/?$
但是,如果您已经使用 mod_rewrite 进行其他重定向/重写,那么您可能应该改用 mod_rewrite 以避免潜在的冲突。例如,在文件顶部附近.htaccess
:
RewriteRule ^my-path/?$ - [G]
G
是 的快捷方式R=410
。
参考: