如果/ c /是URL参数的一部分,那么我想在URL参数的末尾添加参数。因为参数可能增加或减少。
http://example.com/c/file.php?par1=val1&par2=val2
我需要在网址末尾添加两个参数&addpar1=val&addpar2=val
,如下所示。
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
写下这些内容。
答案 0 :(得分:3)
您的规则已接近,但您实际上并未在查询字符串中添加任何内容。尝试:
RewriteEngine On
RewriteCond %{QUERY_STRING !&addpar1=val&addpar2=val
RewriteRule ^/?c/(.*)$ /%1?%{QUERY_STRING}&&addpar1=val&addpar2=val [L]
在这里,您需要检查是否已添加参数,然后将它们添加到查询字符串的末尾。您不希望此处显示QSA
标记,因为您手动执行追加。
如果您想重定向浏览器以便他们看到查询字符串,那么您需要在方括号中加上R
或R=301
标记(以逗号分隔)。