我在使用.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
答案 0 :(得分:3)
由于ID是数字,请尝试以下规则:
RewriteRule page-([0-9]+)-(.*)$ page.php?id=$1&name=$2
它只会匹配ID的数字,然后在最后一个破折号结束,而不是继续尝试贪婪的匹配。