将参数添加到具有mod_rewrite值的url

时间:2011-02-27 01:14:13

标签: php mod-rewrite

我有一个重写规则,重写我的投资组合网址 portfolio.php?cat=cat-name&project=project-slug/portfolio/cat/slug/

一切正常,花花公子,我想知道是否有可能在重写的slug的末尾添加一个参数。例如

/portfolio/cat/slug&preview=true

我正在尝试制作它,以便通过将preview=true添加到最后来预览隐藏的项目。如果我去,它会工作 portfolio.php?cat=cat-name&project=project-name&preview=true

我只是希望我不必创建一个/true的规则我已经用各种方法来获取价值或预览,但认为这里有人可能有一个简单的解决方案

修改添加.htaccess

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^.*$
#portfolio
RewriteRule ^portfolio/?$ portfolio.php [L,NC]
RewriteRule ^portfolio/([a-z0-9_-]+)/([a-z0-9_-]+)/?$ portfolio.php?cat=$1&project=$2 [L,NC]
RewriteRule ^portfolio/([a-z0-9_-]+)/?$ portfolio.php?cat=$1 [L,NC]
RewriteRule ^portfolio/([a-z0-9_-]+)/page=([0-9]+)/? portfolio.php?cat=$1&page=$2&

2 个答案:

答案 0 :(得分:3)

QSA作为选项添加到RewriteRule的背面(在[]括号中)。 E.g。

RewriteRule ^portfolio/([a-z0-9_-]+)/([a-z0-9_-]+)/?$ portfolio.php?cat=$1&project=$2 [L,NC,QSA]

答案 1 :(得分:0)

请查看http://www.workingwith.me.uk/articles/scripting/mod_rewrite这样的例子。 您还可以包含具有适当值的隐藏字段。