使用.htaccess重定向变量

时间:2014-07-23 12:38:34

标签: php html .htaccess redirect

我需要重定向:

http://my-site.com/index.php?ean={any_number}

例如:http://my-site.com/index.php?ean=123

为:

http://my-site.com/b={any_number}

例如:http://my-site.com/b=123

请注意,我需要使用REDIRECT功能,而不是RewriteRule

有什么想法吗? 非常感谢你!

3 个答案:

答案 0 :(得分:0)

试试这个

 RewriteCond %{REQUEST_URI}  ^index.php$
 RewriteCond %{QUERY_STRING} ^ean=([0-9]+)$
 RewriteRule ^(.*)$ http://my-site.com/b=%1 [R,L]

答案 1 :(得分:0)

使用PHP,您可以使用header()执行重定向。


<?php 
//--- index.php snippet ---

if (isset($_GET['ean'])) {
  header("Location: http://yoursite.com/b=".intval(trim($_GET['ean'])));
  exit(0);
}

如果您是基于URI而不是参数重定向,则可以使用RedirectMatch .htaccess 中执行重定向(即 yoursite.com/ean/ 12345 )。

.htaccess 的代码如下所示:

RedirectMatch 301 /ean/(.*) /b=$1

答案 2 :(得分:0)

所以,最后我决定使用header(Location: www.your-site.com)中的PHP功能重定向。谢谢。