我想用纯PHP创建一个网站。我想隐藏url参数。即我想用干净的网址建立我的网站。使用任何框架都有办法做到这一点吗? cURL对此有帮助吗?
答案 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:
$_SERVER['REQUEST_URI']
包含请求的网址路径和查询(您可以使用parse_url
解析)和$_SERVER['PATH_INFO']
拥有 PATH_INFO ,如果您正在使用它(请参阅Apache’s AcceptPathInfo
directive)。答案 3 :(得分:1)
根据我的阅读和理解,有两种方法可以做到这一点:
mod_rerite
,其中所有内容似乎都通过.htaccess
文件中的重写规则很容易实现,但是可以对大型网站的网络服务器施加很大的负担.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