使用.htaccess从PHP页面重定向到另一个使用变量

时间:2014-06-18 15:59:48

标签: php .htaccess redirect

我有一个简单的问题,但我找不到这样做的方法。我需要重定向或重写这个:

http://mydomain.com/libro.php?isbn=9788493652470 

对此:

http://mydomain.com/busqueda.php?busqueda=medimecum

我已经尝试了这个,但它不起作用:

Redirect 301 /libro.php?isbn=9788493652470 http://mydomain.com/busqueda.php?busqueda=medimecum

1 个答案:

答案 0 :(得分:1)

Redirect不会很好。但是使用mod_rewriteRewriteCond作为查询字符串会很有效。这适用于您的示例:

RewriteEngine On
RewriteCond %{QUERY_STRING} isbn=9788493652470
RewriteRule ^libro.php http://mydomain.com/busqueda.php?busqueda=medimecum [L,R=301]

现在再次查看您的问题,目前尚不清楚您是否要传递原始查询字符串,对吗?所以这个网址:

http://mydomain.com/libro.php?isbn=9788493652470

将成为此网址:

http://mydomain.com/busqueda.php?busqueda=medimecum&isbn=9788493652470

但是如果你想以某种方式做到这一点,你可以将QSA(查询字符串追加)标志添加到RewriteRule,如下所示:

RewriteEngine On
RewriteCond %{QUERY_STRING} isbn=9788493652470
RewriteRule ^libro\.php http://mydomain.com/busqueda.php?busqueda=medimecum [L,R=301,QSA]