URL重写忽略php $ _GET语句

时间:2014-03-05 06:41:37

标签: php .htaccess url url-rewriting

我有一个网址:

http://www.site.com/profile.php?id=$id

我希望它最终会像:

http://www.site.com/$id

我怎么能在PHP或htaccess中执行此操作?

2 个答案:

答案 0 :(得分:1)

您需要在htaccess中创建重写规则,例如

RewriteRule ([0-9]+) profile.php?id=$1 [L]

这会将任何带有0-9字符的内容重写为profile.php并传递查询字符串中的数字。所以你可以做到

site.com/1

哪个是

site.com/profile.php?id=1

答案 1 :(得分:1)

已经有很多讨论已经在这里。无论如何,这里是。 :)

你的htacces重写规则,

RewriteEngine on
RewriteBase /
RewriteRule ^([0-9]+)$ profile.php?id=$1 [L]

在PHP文件中链接的方法,

<a href="http://www.site.com/$id">Your URL</a>

确保将$ id替换为您的值。

仅供参考,http://www.site.com/profile.php?id=$id也可以使用,避免使用它&amp;使用像我上面引用的掩码网址。 :)