Specific htaccess重定向异常



我在.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的请求。

相关内容

  • 没有找到相关文章

最新更新