![如果与 .htacces 中的特定正则表达式匹配,则将页面重定向到 410](https://linux22.com/image/670158/%E5%A6%82%E6%9E%9C%E4%B8%8E%20.htacces%20%E4%B8%AD%E7%9A%84%E7%89%B9%E5%AE%9A%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%8C%B9%E9%85%8D%EF%BC%8C%E5%88%99%E5%B0%86%E9%A1%B5%E9%9D%A2%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%20410.png)
第一次使用 .htaccess,所以我来这里寻求一些帮助,因为网络上没有包含信息的文件(或者我只是找不到它们 :/)。
所以我的想法是我想将以/2/
或 /3/
...(数字)结尾的链接重定向到该error410
页面。
所以我想出了这个效果很好的正则表达式^(.*?)\/(?!(?:404|410)$)\d+$
如果我明白这是如何工作的,那么这就是正确的解决方案:
RewriteCond %{QUERY_STRING} ^(.*?)\/(?!(?:404|410)$)\d+$ [NC]
RewriteRule . - [G]
你觉得这个有用吗?我不想玩学徒巫师。
答案1
它不会起作用。您正在针对%{QUERY_STRING}
变量测试模式。此变量不存储 URI 内容,而是存储由GET
或发送的查询参数POST
。
发送GONE
状态,使用以下规则:
RewriteEngine On
RewriteRule ^\d+/?$ - [G]