php - 干净的URL

时间:2010-05-15 09:55:00

标签: php url

我想用纯PHP创建一个网站。我想隐藏url参数。即我想用干净的网址建立我的网站。使用任何框架都有办法做到这一点吗? cURL对此有帮助吗?

6 个答案:

答案 0 :(得分:7)

如果您不想或不能使用.htaccess,请参阅URL rewriting in PHP without .htaccess,否则请参阅How to: URL rewriting in PHP?

答案 1 :(得分:1)

在开始你的东西之前,先看看它......

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

答案 2 :(得分:1)

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

因为Web服务器的默认行为是仅获取请求的URL路径并尝试将其映射到文档根目录下的现有文件。如果找到相应的文件,则将文件的内容传递回客户端,或者 - 如同PHP文件一样 - 将文件的内容传递给适当的解释器,并将返回的数据传递回客户端。如果找不到该文件,那么它会响应状态码404.所以在某些时候你需要配置你的web服务器。

但之后,当请求传递给您的PHP脚本时,您确定只能使用PHP来建立干净的URL。而且我宁愿建议使用PHP而不是Web服务器实用程序。因为您的PHP应用程序应该最了解如何处理请求的URL。

在PHP中,所有必需的信息都在$_SERVER variable

答案 3 :(得分:1)

根据我的阅读和理解,有两种方法可以做到这一点:

  1. 第一个是mod_rerite,其中所有内容似乎都通过.htaccess文件中的重写规则很容易实现,但是可以对大型网站的网络服务器施加很大的负担
  2. 使用PHP来控制它确实使用.htaccess的rerites,但仅将所有内容重定向回index.php,其中调度程序根据需要重新路由路径。在phpvideotutorials.com上有一个很棒的教程,这个教程叫做tumblelog。

答案 4 :(得分:0)

没有,没有卷曲或框架这样做。根本不是php 处理网址的是网络服务器 因此,如果您想要虚假网址,则必须设置您的网络服务器,以将某些网址重定向到某些脚本 最常见的方法是使用带有mod_rewrite模块的Apache Web服务器

答案 5 :(得分:0)

尝试重写url using php并重写url using .HTACCESS

例如,原始网址

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