如何隐藏GET变量,但保持价值

时间:2010-10-17 06:33:01

标签: php get hide

我将如何做这样的事情:

www.website.com/process.php?ip=32.313.131.31

www.website.com/32.313.131.31

2 个答案:

答案 0 :(得分:1)

使用URL重写模块。如果您使用的是Apache,则mod_rewrite是该作业的工具。在你的情况下,这样的规则就足够了:

RewriteRule ^/(\d+\.\d+\.\d+\.\d+) /process.php?ip=$1

如果你想要一个不仅仅匹配IP地址的更通用的规则,它就会变得更加棘手,因为你不希望规则与重写的表单相匹配,以防它在某个地方无意中指定(例如,您不希望将www.website.com/process.php?ip=32.313.131.31重写为www.website.com/process.php?ip=process.php?ip=32.313.131.31)。

答案 1 :(得分:0)

我假设您正在使用Apache,因此您可以使用mod_rewrite来实现此目的。在文档根目录中创建一个.htaccess文件,并创建一个重写规则,将所有看似IP地址的请求传递给process.php。这样的事情应该做:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^/\d+\.\d+\.\d+\.\d+$ /process.php?ip=$1 [NC]