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,我想用纯PHP创建一个网站。我想隐藏url参数。也就是说,我想用干净的URL创建我的网站。有没有办法不用任何框架就可以做到这一点?cURL是否有助于执行此操作?查看您是否不想或不能使用.htaccess,否则请参阅。不,没有cURL或framework执行此操作。也不是php。 处理URL的是web服务器。 因此,如果你想要伪造URL,你必须设置你的web服务器,将某些URL重定向到某些脚本。 最常见的方法是将Apache web服务器与mod_rewrite模块一起使用在开始工作之前,先查看一

我想用纯PHP创建一个网站。我想隐藏url参数。也就是说,我想用干净的URL创建我的网站。有没有办法不用任何框架就可以做到这一点?cURL是否有助于执行此操作?

查看您是否不想或不能使用.htaccess,否则请参阅。

不,没有cURL或framework执行此操作。也不是php。 处理URL的是web服务器。 因此,如果你想要伪造URL,你必须设置你的web服务器,将某些URL重定向到某些脚本。
最常见的方法是将Apache web服务器与mod_rewrite模块一起使用

在开始工作之前,先查看一下

http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

首先:仅用PHP是不可能的,至少我在阅读干净的URL时想到的URL形式是不可能的。web服务器需要知道如何处理请求以及哪些请求要传递给PHP脚本。否则,您可能只会得到404响应

因为web服务器的默认行为是只获取请求的URL路径并尝试将其映射到文档根目录下的现有文件。如果找到了相应的文件,则文件的内容会传递回客户端,或者(对于PHP文件而言)文件的内容会传递给相应的解释器,返回的数据会传递回客户端。如果没有找到该文件,那么它将以状态代码404响应。因此,在某些时候,您需要配置web服务器

但是在那之后,当请求被传递到您的PHP脚本时,您肯定可以只使用PHP来建立干净的URL。我更愿意建议使用PHP而不是web服务器实用程序来实现这一点。因为您的PHP应用程序应该最了解如何处理请求的URL

在PHP中,所有必需的信息都位于:

$\u服务器['REQUEST\u URI']保存请求的URL路径和查询,您可以使用该路径和查询解析该路径,并且 $\u服务器['PATH\u INFO']保存路径信息(如果您正在使用该服务器),请参见。
根据我的阅读和理解,有两种方法可以做到这一点:

第一个是mod_rerite,通过.htaccess文件的重写规则,一切似乎都重新开始了,这相当简单,但会给具有大型站点的Web服务器带来很大的负载 使用PHP来控制重新路由,它确实使用.htaccess,但只会将所有内容重定向回index.PHP,调度器会根据需要重新路由路径。在phpvideotutorials.com上有一个非常棒的教程,这个教程叫做Tumbllog。 试着重写

例如,原始url

www.domain.com/item.php?product=Cars for sale in amazon 
使用php

www.domain.com/item.php?product=Cars-for-sale-in-amazon
并带有.HTACCESS文件

www.domain.com/Cars-for-sale-in-amazon