有没有其他方法通过PHP传递值?

时间:2012-04-19 00:04:12

标签: php url

我正在开发一个包含用户帐户的网站。每个的URL都是:

www.site.com/profile.php?user=ChanceM

但是,我想知道是否有另一种方法可以通过URL发送值并使用PHP 抓取它们的URL更像这样:

www.site.com/ChanceM

或者:

www.site.com/profile.php/ChanceM

我只是想知道这是否可行,因为记住第一个URL不是非常用户友好。谢谢!

5 个答案:

答案 0 :(得分:1)

对于Apache是​​ - 您需要查看rewrite规则的手册页。该链接将告诉您如何执行此操作。另请查看Apache文档。

至于我不知道的其他服务器。

答案 1 :(得分:0)

有一些方法可以做到这一点,但可能没有内置到像$ _GET数组的PHP。你可以做的一件事就是在apache配置中,用一个php脚本替换404页面,该脚本获取url目标并重定向到像www.site.com/profile.php?user=ChanceM这样的版本(我想在mod_rewrite你也可以这样做。)

答案 2 :(得分:0)

是的,您可以按照您所说明的任何方式进行。

在第一个示例的情况下,您必须使用类似mod_rewrite的内容,它可以透明地将友好URL(site.com/Username)重写为PHP脚本(site.com/profile.php?user =用户名)

使用第二种方法,您必须使用$_SERVER['REQUEST_URI']从URL访问数据,并手动将其解析为可用变量。

答案 3 :(得分:0)

如果你想发送“更清洁的URL”(不进行某种类型的URL重写),你可以使用implode和parse url之类的东西:

http://us2.php.net/manual/en/function.parse-url.php
http://us2.php.net/manual/en/function.implode.php

这些方法允许您提取URL的各个部分并使用它们

答案 4 :(得分:0)

您想在Apache中使用mod_rewite

以下是重写规则RewriteRule ^(.*)$ profile.php?user=$1

的示例

您可以在此处进行测试:http://martinmelin.se/rewrite-rule-tester/

相关问题