由htaccess重写时的GET参数

时间:2013-02-11 08:25:44

标签: php url variables dynamic

这是我的默认动态链接:

  

www.example.com/news/index.php?id=5&title=Test-Title-3

这是由htaccess重写的链接:

  

www.example.com/news/5/Test-Title-3

现在我希望用PHP获取id变量(即5)和/或title变量(这是Test-Title-3)。

我尝试使用$_GET['id']但返回

  

的index.php /试验标题-3

或使用$ _GET ['title'],不返回任何内容。知道如何获取变量吗?

(编辑)的 这是我的.htaccess文件,如果需要:

Options +FollowSymLinks Options All -Indexes 
<files .htaccess> 
  order allow,deny 
  deny from all 
</files>
RewriteEngine on
RewriteRule (.*)/(.*)/ index.php?id=$1&title=$2 

2 个答案:

答案 0 :(得分:0)

你的.htaccess重写规则应该是:

RewriteRule ^news/([0-9]+)/([a-zA-Z\-]+)$ /news/index.php?id=$1&title=$2 [QSA,L]

$1$2是根据()中包含的表达式定义的。 当您的脚本的实际网址为www.example.com/news/5/Test-Title-3时,这会向用户显示网址www.example.com/news/index.php?id=5&title=Test-Title-3,这样您就可以像往常一样使用$_GET['id']$_GET['title']

答案 1 :(得分:0)

你可以使用php获取id值。只需使用以下代码:

   <?php
      $url = $_SERVER['REQUEST_URI'];
      $val = explode("/", $url);
      echo "Your id is: ".$val[2];
   ?>

希望这会有所帮助!!!