我在.htaccess
文件中为特定条件创建了一个重定向:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^page/(.*) /clanky/?sf_paged=$1 [R=301,L]
</IfModule>
的例子:
有人点击这个链接:https://example.com/page/2/
,他们将被重定向到:https://example.com/clanky/?sf_paged=2/
这个场景非常完美。
现在我需要做一个例外,如果链接将是:https://example.com/page/2/?s=zemedelec
-(排除条件应该是/?s=
),在这种情况下,我不想使用任何重定向。
你知道如何使这个例外吗?
当查询字符串以URL参数s=
开始时,您可以添加以下条件(RewriteCond
指令):
RewriteCond %{QUERY_STRING} !^s=
RewriteRule ^page/(.*) /clanky/?sf_paged=$1 [R=301,L]
当查询字符串不以s=
开头时,反条件!^s=
成功。
(排除条件应为
/?s=
)
上面没有显式检查url路径是否以斜杠结束,因此它也将排除形式为https://xxx.cz/page/2?s=zemedelec
的请求。