Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php url的结构_Php_Url - Fatal编程技术网

Php url的结构

Php url的结构,php,url,Php,Url,我在很多网站上看到过,URL的结构是这样的 http://tabsize.com/user/login 或 http://tabsize.com/user/register http://tabsize.com/user/account 从用户->登录或用户->注册 那么如何维护这种URL结构呢 我目前使用的是硬编码类型的URL,比如 www.example.com/login.php www.example.com/register.php 我不认为我的方式是专业的,我还希望能够创建与上述示例

我在很多网站上看到过,URL的结构是这样的

http://tabsize.com
/user/login

http://tabsize.com
/user/register

http://tabsize.com
/user/account

从用户->登录或用户->注册

那么如何维护这种URL结构呢

我目前使用的是硬编码类型的URL,比如

www.example.com/login.php

www.example.com/register.php

我不认为我的方式是专业的,我还希望能够创建与上述示例中给出的相同的结构


你是如何做到这一点的?

我个人使用这个网站,它有很多帮助:
最简单的方法是使用文件夹和索引文件:

http://tabsize.com/user/register
->http://tabsize.com/user/register/index.php

http://tabsize.com/user/account
->http://tabsize.com/user/account/index.php

我认为你在很多网站上看到这种结构的主要原因是因为他们使用了


大多数情况下,
user
对应一个模块,
login
对应一个动作。如果你的应用程序足够大,你应该考虑。

你需要通过你的索引文件PHP文件进行所有的请求。这样,您就可以在路径上执行查找,并选择一个函数来返回响应

例如

然后在index.php文件中执行查找

<?php

$uri = $_GET["uri"];

if ($uri == "/user/login/") {
  print "login page";
}
else if ($uri == "/something/else/") {
  print "some other page";
}
现在,像这样的URL将工作
http://example.com/user/login/

我建议研究已经有解决方案的PHP框架。CodeIgniter和Kohana都很好


或者Django,如果您了解Python。

您需要连接到Web服务器来实现这一点。您使用的是什么Web服务器?Apache?你使用Apache的ModRewrite功能。这在这里已经被问了很多次了。这在很大程度上取决于服务器配置和代码。请四处看看,因为你现在的问题,答案只是猜测。你需要添加你如何设计你的网站,你如何输出URL,你的服务器配置和所有这些东西。我也考虑过这一点,但对于每个添加到该网站的用户,都会创建一个新的配置文件。如何完成?@user478636
.htaccess
mod_rewrite。基本上,您可以将像
/profile/143
这样的url映射到像
profile.php?id=143
<?php

$uri = $_GET["uri"];

if ($uri == "/user/login/") {
  print "login page";
}
else if ($uri == "/something/else/") {
  print "some other page";
}
RewriteRule .* index.php?uri=$0 [PT,QSA,L]