301使用可变参数重定向

时间:2015-09-24 13:23:44

标签: php apache .htaccess mod-rewrite redirect

我的.htaccess文件中有条目执行301重定向:

Redirect 301 /kansascity-ks-1-day-27sep2015 /index.php?option=com_vikevents&task=viewevent&Itemid=298&itid=266

但是,我需要在“友好”网址的末尾添加一个变量参数,并将其保留在重定向中,以便在以下情况下发送:

/kansascity-ks-1-day-27sep2015?source=1

这将通过像这样的重定向持续存在:

/index.php?option=com_vikevents&task=viewevent&Itemid=298&itid=266&source=1

我不知道如何做到这一点。 .htaccess条目是在触发事件后由我的代码动态写入的。 “1”部分在任何时候都会有所不同,并在.htaccess条目之后设置。

建议?

1 个答案:

答案 0 :(得分:1)

您应该切换到mod_rewrite规则来处理这种情况:

RewriteEngine On

RewriteRule ^kansascity-ks-1-day-27sep2015/? /index.php?option=com_vikevents&task=viewevent&Itemid=298&itid=266 [L,QSA,NC,R=302]

确保将此规则保留在其他规则之前,并在清除浏览器缓存后对其进行测试。

QSA(查询字符串追加)标志在添加新查询参数时保留现有查询参数。