2

如果 /c/ 是 URL 参数的一部分,那么我想在 URL 参数的末尾添加参数。因为参数可能会增加或减少。

    http://example.com/c/file.php?par1=val1&par2=val2

&addpar1=val&addpar2=val我需要像这样在 URL 的末尾添加两个参数。

    http://example.com/c/file.php?par1=val1&par2=val2&addpar1=val&addpar2=val

我在这里尝试做的事情:

     RewriteEngine On
     RewriteCond %{REQUEST_URI} ^/c/(.*)$ [NC]
     RewriteRule /c/ /%1 [QSA]

请建议我在RewriteRule这里应该写什么。

4

1 回答 1

3

您的规则很接近,但您实际上并没有向查询字符串添加任何内容。尝试:

 RewriteEngine On
 RewriteCond %{QUERY_STRING !&addpar1=val&addpar2=val
 RewriteRule ^/?c/(.*)$ /%1?%{QUERY_STRING}&&addpar1=val&addpar2=val [L]

在这里,您需要检查参数是否已添加,然后将它们添加到查询字符串的末尾。您不需要QSA此处的标志,因为您正在手动进行附加。

如果您想重定向浏览器以便他们看到查询字符串,那么您需要在方括号中使用RorR=301标志(以逗号分隔)。

于 2013-08-29T06:33:18.207 回答