如果匹配.htacces中的特定正则表达式,则将页面重定向到410

时间:2015-11-03 13:19:52

标签: regex .htaccess

我知道这可能会转到SF,但我认为这个社区更加活跃,这可能是一个简单的问题,所以请全面了: - )

所以,这是我第一次使用.htaccess而且我有点害怕我有可能的答案,但我听说这可能出错,我无法承受大规模服务器问题。

我的想法是,我想将以/2//3/ ...(数字)结尾的链接重定向到error410页面。

在您的帮助下,我想出了这个正常运行的正则表达式^(.*?)\/(?!(?:404|410)$)\d+$ Test Here

如果我知道这是如何工作的,这是正确的解决方案:

RewriteCond %{QUERY_STRING} ^(.*?)\/(?!(?:404|410)$)\d+$ [NC]
RewriteRule . - [G]

你认为这会起作用吗?我不想扮演学徒巫师..

1 个答案:

答案 0 :(得分:1)

你的正则表达式非常复杂。我建议这个:

# select URL ending with "/:numbers:/", and make a 410 redirection
RewriteRule \/[0-9]+\/$ - [L,R=410]

# Define what's the page for the 410 error
ErrorDocument 410 /error410