特定的 htaccess 重定向异常

Specific htacces redirect exception

我在 .htaccess 文件中针对特定条件创建了重定向:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^page/(.*) /clanky/?sf_paged= [R=301,L]
</IfModule>

示例:

有人点击此 link:https://example.com/page/2/ 他们将被重定向到:https://example.com/clanky/?sf_paged=2/

这个场景很完美。

现在我需要为 link 的情况做一个例外:https://example.com/page/2/?s=zemedelec - (排除条件应该是 /?s=),在这种情况下我不不想使用任何重定向。

任何想法,如何使这个例外?

要对查询字符串以 URL 参数 s= 开头的现有规则进行例外处理,然后您可以添加以下 条件 ( RewriteCond 指令):

RewriteCond %{QUERY_STRING} !^s=
RewriteRule ^page/(.*) /clanky/?sf_paged= [R=301,L]

当查询字符串不以s=开头时,negated条件!^s=成功。

(the excluding condition should be /?s=)

上面没有明确检查 URL-path 是否以斜杠结尾,因此它也会排除 https://xxx.cz/page/2?s=zemedelec.

形式的请求