htaccess .html 重写异常

htaccess .html 重写异常

好的伙计们,我需要添加一个例外!我该怎么做?我目前用来RewriteRule ([^.]+).html $1 [R=301,L] 重写所有 .html 网址

我确实需要 google.html 验证文件的例外。我该如何设置此例外?

我试过了,但是没有用。有什么想法吗?
RewriteCond $1 !^(google022e525bdb654772.html|googleb5e92d18c6640aeb.html)/?

我试过了

RewriteCond $1 !^(google022e525bdb654772.html|googleb5e92d18c6640aeb.html)

答案1

您拥有的方法不起作用,因为$1a 中的反向引用(如 )RewriteCond指的是最后匹配的组RewriteCond而不是RewriteRule

请尝试以下操作:

RewriteCond %{REQUEST_URI} !^/google(022e525bdb654772|b5e92d18c6640aeb)\.html
RewriteRule ([^.]+).html $1 [R=301,L]

答案2

重写按顺序处理。在正常重写之前,放入一个不做任何更改但声明为最后一次重写的重写。

一般来说,在重写中充斥着与内容无关的信息是不好的,这些信息必须先读过去,而你可以先处理异常并消除障碍。

RewriteRule ^/google022e525bdb654772.html$  -  [L]
RewriteRule ^/googleb5e92d18c6640aeb.html$  -  [L]
RewriteRule ([^.]+).html $1 [R=301,L]

相关内容