我制定了这条规则来连接所需的语言(如果已设置)和页面本身:
RewriteRule ^(ua|ru|eng)?/?log/?$ index.php?module=Log&lang=$1 [L,QSA]
有 3 个链接像这样工作:
- site.com/log
- site.com/ua/log
- site.com/uallog
如您所见,选项 3 相当奇怪,可能对 SEO 不利(但这并不准确)。链接 3 起作用的原因是问号/?log
。如果您删除此问号,则列表中的 1 项将不适用于此规则。如何留下 1 和 2 分,但排除 3?
作为一个选项,尝试使用额外的可选组
在这种情况下,由 lang 替换的组将更改为第二个,您将需要使用
lang=$2
在附加组中,条件必须存在
/
,即 如果有 ualog,则不会发生匹配。