.htaccess URL重写2个变量

时间:2012-05-27 18:08:32

标签: php .htaccess url-rewriting

我在使用.htaccess重写URL时遇到问题,当URL看起来像那样 原始网址:http://www.example.com/page.php?id=1&name=test 重写后:http://www.example.com/page-1-test它工作正常

但经理要求连字符而不是空格,所以我做了这个

$name = str_replace(" ", "-", $name);

然后我回显$ page_name http://www.example.com/page.php?id=2&name=test-some-other-text

所以它看起来像http://www.example.com/page-2-test-some-other-text

当我尝试$ _GET ['id']时,它需要2-test-some-other-text作为id;

这是我在.htaccess中的重写规则

RewriteRule page-(.*)-(.*)$ page.php?id=$1&name=$2

1 个答案:

答案 0 :(得分:3)

由于ID是数字,请尝试以下规则:

RewriteRule page-([0-9]+)-(.*)$ page.php?id=$1&name=$2

它只会匹配ID的数字,然后在最后一个破折号结束,而不是继续尝试贪婪的匹配。