带有查询字符串的URL上的Apache RewriteRule

时间:2014-06-30 15:55:20

标签: php apache .htaccess mod-rewrite

我需要使用.htaccess文件重写带有查询字符串的URL。

查询字符串中的实际值并不重要。

我需要将/event/event.php?t=2发送到/event/challenge

我该怎么做?

我尝试过以下但没有快乐:

RewriteRule ^event/event.php?t=2$ /event/challenge [L,QSA,NC]

2 个答案:

答案 0 :(得分:0)

将此代码放入DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+event/event\.php?t=2[&\s] [NC]
RewriteRule ^ /event/challenge? [R=302,L]

RewriteRule ^event/challenge/?$ /event/event.php?t=2 [L,QSA,NC]

答案 1 :(得分:0)

您必须在规则之前添加RewriteCond:

RewriteCond %{QUERY_STRING} ^t=2
RewriteRule ^event/event.php$ /event/challenge [L,QSA,NC]