我正在使用以下代码:
#RewriteCond %{QUERY_STRING} !(^|&)sort_field=more&limit=&p=(&|$) [NC]
#RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
#RewriteRule ^ %{REQUEST_URI}?sort_field=more&limit=&p= [L,R=301,QSA]
但它会在所有页面上添加参数。我只需要将params添加到主域。我该怎么办?
答案 0 :(得分:0)
首先,这些指令不适用,因为它们前面有一个哈希#
。
查询字符串(params)被添加到所有页面,因为模式^
(URL的开头)与所有页面匹配。如果您只想匹配特定页面,则必须使用适当的模式,有关如何指定模式的详细信息,请参阅Regular Expressions。
在您的情况下,主域(主页?),它只是^$
或^index.html$
或类似,例如
RewriteRule ^$ %{REQUEST_URI}?sort_field=more&limit=&p= [L,R,QSA]
如果一切正常,您可以将R
替换为R=301
。 从不使用R=301
进行测试。