RewriteRule为404提供了额外的查询参数

时间:2018-02-21 18:13:28

标签: .htaccess

我使用重写规则使我的URls SEO友好,以下规则适用于产品页面。

RewriteCond %{QUERY_STRING} ^pid=([a-z0-9A-Z_\-]*)$
RewriteRule ^([^/]+)/([^/]+)$ product/viewproduct.php?pid=%1&cat1=$1&cat2=$2 [L]

但是,当我将其他查询参数传递给产品页面(例如utm_source)时,它返回404.

请帮忙。

1 个答案:

答案 0 :(得分:1)

RewriteCond阻止访问RewriteRule

删除$以访问您的网页,然后添加,QSA以访问您的参数。

RewriteCond %{QUERY_STRING} ^pid=([a-z0-9A-Z_\-]*)
RewriteRule ^([^/]+)/([^/]+)$ product/viewproduct.php?pid=%1&cat1=$1&cat2=$2 [L,QSA]