繁体   English   中英

在不使用mod_rewrite的情况下清理PHP中的URL

[英]Clean URLs in PHP without mod_rewrite

我正在为我为PHP客户端构建的网站开发后端(我很少使用),该网站已基本完成。 我主要是一个Rails开发人员,所以我很难不去使用一些杂乱无章的CRUD设置,并且正在尝试清理URL。

我希望自己的网址是这样的:

http://www.example.com/videos/name-of-video/

我打算只从$_SERVER['PHP_SELF']中获取网址的最后一部分,并使用它来搜索数据库,但是我想做的是将index.php文件放在http://www.example中.com / videos /目录,并在我明确指出某人指向http://www.example.com/videos/name-of-video/时使用它(如果有必要的话)。

如果将index.php放在/ videos /目录中,还是可以使用? 是否可以在不搞乱htaccess的情况下做?

对不起,我的解释很可悲。 我希望这是有道理的。

谢谢!

有一些没有RewriteRule的选项。 并非没有.htaccess混乱。

首先,您可以命名一个没有扩展名的PHP脚本,即video而不是video.php ,然后通过ForceTypeDefaultType设置实际文件类型。 因此,PHP解释器仍会选择它。 路径将显示在$_SERVER['PATH_INFO'

同样,启用的+MultiViews允许PHP脚本不具有扩展名。

最后,可以使用ErrorDocument处理程序代替真正的RewriteRule。 但是,它带来了许多缺点。

index.php本身不会在伪路径中获取任何随机文件名。 唯一可行的方法是使用诸如http://www.example.com/videos/?name-of-video/

所以不行。 没有一些配置,就没有带有模仿目录的漂亮URL。

据我所知,如果不触摸.htaccess,则无法进行此操作。 当您写URL http://www.example.com/videos/name-of-video/时,您的服务器肯定会在video-name文件夹中查找index.php文件。 不存在。

如果没有.htaccess就可以完成此任务,那么就永远不会使用它们。 顺便说一句,为什么你不想使用.htaccess .. ??

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM