我有一个显示所选成员信息的页面。现在,我选择使用GET数据在URL中选择成员,如下所示:Page/index.php?Member=member1
我看到这样做的网站:Page/member1
这可能只与一个PHP文件有关吗?
答案 0 :(得分:3)
友好的URL需要网络服务器进行某种处理,以便页面请求通过单个php脚本(也称为控制器)进行处理。
例如,Apache能够匹配URL中的模式并在后台修改请求 - 您实际上会编写PHP以作出反应,就像用户输入了原始GET字符串一样,但是他们可以使用友好的URL代替。
Apache的简单示例 - 将.htaccess放在文档根目录中并写入:
RewriteEngine On
RewriteRule ^Page/([A-Za-z0-9\_]+)/?$ index.php?member=$1 [QSA,L]
我不知道IIS中的等价物是什么 - 但我知道它可用
答案 1 :(得分:1)
这不能用PHP完成 - 你用mod_rewrite和apache上的.htacess来做。
答案 2 :(得分:1)
有很多方法可以做到这一点,所有这些都取决于Web服务器。使用Apache,有一些可能性:
假设您正在使用Apache并启用了MultiView。文件Page.php
与Page/*
匹配,显然包含Page/member1
。然后,您必须检查URL(查看$_SERVER
,它包含您需要的所有内容)并决定是否可以接受请求。
答案 3 :(得分:0)
您可以使用以下方法单独使用PHP:
1。)获取相对于文档根目录的文件名。
$_SERVER['PHP_SELF']
http://example.com/test.php/foo.bar将是/test.php/foo.bar。
2。)分隔符爆炸(在本例中为/)
array explode ( string $delimiter , string $string [, int $limit ] )
3。)验证数组中的值,然后放入变量
var $myValue = myarray[0];