RewriteRule和PHP:在URL中添加一个新的'?param = yes'

时间:2017-02-03 19:20:16

标签: php mod-rewrite url-rewriting

我已经使用RewriteRules和PHP

创建了数百个网页
foo.com/section/item/number --> foo.com/section.php?item=number
foo.com/story/number ---> foo.com/story.php?id=number

现在我想为所有网页添加一个额外的参数

foo.com/section/item/1?param=yes
foo.com/story/34?param=yes

我尝试过:

if (isset($_REQUEST['param']))
{
    print "IT WORKS!";
}

它仅适用于没有RewriteRule的'foo.com'('index.php')。

我也尝试将QSA添加到RewriteRule

RewriteRule ^story/([^/]+) /story.php?id=$1 [L, QSA]

我做错了什么?非常感谢你。

1 个答案:

答案 0 :(得分:1)

我无法测试,但我认为这会做你需要的事情

 RewriteCond %{QUERY_STRING !&param=yes
 RewriteRule ^/?c/(.*)$ /%1?%{QUERY_STRING}&&param=yes [L]

首先确保请求中是否已经有param = yes,什么也不做,否则追加?param = yes或& param = yes,如果请求已经有?在它。