.htaccess使用get参数重写url

时间:2014-04-04 03:40:33

标签: php apache .htaccess mod-rewrite

这是我第一次尝试.htaccess

这就是我想要的。

example.com/account/blitzen12 -> example.com/account/index.php?id=10&name=blitzen12

我不想将id包含在重写中,是否可能?

Note: id and name which is 10 and blitzen12 is retrive from the database.
到目前为止,这是我尝试过的,但它没有用。

Options +FollowSymLinks  
RewriteEngine On 

RewriteRule ^account/(.*)$ ./account/index.php?page=account&id=$1&name=$2 [L,NC]

html代码。

<a href="account/index.php?id=10&name=blitzen12">blitzen12</a>

任何人都可以帮我这个吗?谢谢。

1 个答案:

答案 0 :(得分:9)

“10”或ID不是网址的一部分:

example.com/account/blitzen12

所以你不能把它重写成另一个URL,不能凭空而来。您需要只提供没有“id”的页面(并使用“name”将其拉出数据库)或将其嵌入URL而不使用查询字符串,例如:

example.com/account/10/blitzen12

然后你可以使用:

重写它
Options +FollowSymLinks  
RewriteEngine On 

RewriteRule ^account/([0-9]+)/(.*)$ ./account/index.php?page=account&id=$1&name=$2 [L,NC]