当前位置:  开发笔记 > 编程语言 > 正文

PHP中的URL映射?

如何解决《PHP中的URL映射?》经验,为你挑选了3个好方法。

我来自Java背景,并且使用任何基于servlet的技术,将一系列URL(例如/ reports/,/ secure / .do)映射到指定的servlet 是微不足道的.现在我对PHP不熟悉,但我还没有看到任何与PHP(或mod_php)完全相同的东西.我完全有可能错过一些简单的东西.

你是如何用PHP做到的?

我想要这样做的原因之一是"一次性使用"URL.现在可以使用GET参数(如MD5哈希令牌)来完成,但我对URL映射感兴趣,作为许多问题的一般解决方案.

使用这样的东西的另一个重要原因是拥有RESTful URL.



1> CMS..:

使用Apache,您可以使用mod_rewrite为您的php页面设置URL重写,请检查以下资源:

mod_rewrite:初学者URL重写指南

模块mod_rewrite

URL重写指南



2> Eineki..:

除了使用mod_rewrite之外,正如已经报道的那样,你可以用一个简单的技巧做一些魔术.

将.htaccess这样的指令放入.htaccess中

 
  ForceType application/x-httpd-php
 

用您选择的正则表达式替换^ servlet $(它将是您的调度程序的名称)

文件servlet应与此类似


网址可以具有以下形式:http:// yoursite/servlet/reports/sales/2009 您还可以 使用.htacces和调度程序访问http:// yoursite/reports/sales/2009 plaiyng表格.

此方法的优点是不需要mod_rewrite,因为FilesMatch(1.3+)和ForceType(2.0+)位于apache核心中

参见
http://httpd.apache.org/docs/2.2/mod/core.html#forcetype
http://httpd.apache.org/docs/2.2/mod/core.html#filesmatch
http:// www .devarticles.com/C/A/Apache的/使用-ForceType指令-FOR-一些好的页的URL/1 /



3> null..:

我使用的技巧是$ _ SERVER ['PATH_INFO'](我认为你需要Apache).这将为您提供PHP文件扩展名后的所有信息.

http://www.example.com/page.php/rest/url

$ _ SERVER ['PATH_INFO']将包含:

"/rest/url"

然后,页面可以重定向,处理一些代码或基于该字符串的任何代码.

如果您无权访问Apache Configs或.HTACCESS,这很好.如果情况发生变化,您可以将page.php作为静态文件放置的目录名.哦,PHP不需要.php扩展名.我过去曾经使用过.api或者其他一些东西.

http://www.example.com/worker.api/rest/url

这对我来说似乎很有效.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有