我正在为我为PHP客户端构建的网站开发后端(我很少使用),这几乎已经完成。我主要是一个Rails开发人员,所以我很难不去寻找一些混乱版本的CRUD设置,而我正在尝试清理网址。
我希望我的网址如此:
http://www.example.com/videos/name-of-video/
我打算从$_SERVER['PHP_SELF']
获取url的最后一位并使用它搜索数据库,但我想要做的是将index.php文件放在http://www.example.com/videos/目录中当我明确指出某人http://www.example.com/videos/name-of-video/时,如果有意义的话,就可以使用它。
如果我将index.php放在/ videos /目录中,还是需要其他东西,它是否可以正常工作?是否有可能不搞乱htaccess?
对不起我的可怜解释。我希望这是有道理的。
谢谢!
答案 0 :(得分:3)
有一些选项可以在没有RewriteRule的情况下完成。不是没有.htaccess搞乱。
首先,您可以命名不带扩展名的PHP脚本,即video
而不是video.php
,然后通过ForceType
或DefaultType
设置实际文件类型。所以PHP解释器仍然会接收它。该路径将显示在$_SERVER['PATH_INFO'
同样,启用+MultiViews
允许PHP脚本不具有扩展名。
最后,可以使用ErrorDocument
处理程序代替真正的RewriteRule。然而,它带来了许多缺点。
index.php
本身不会在假路径中拾取任何随机文件名。唯一可行的方法是使用http://www.example.com/videos/?name-of-video/
所以没有。没有某些配置的目录模仿没有好的URL。
答案 1 :(得分:2)
据我所知,如果不触及.htaccess,这种操纵是不可能的。 当您编写网址http://www.example.com/videos/name-of-video/时,您的服务器肯定会在文件夹名称视频文件夹中查找index.php文件。哪个不存在。
如果没有.htaccess可以实现这项任务,那么它们就永远不会被使用。 顺便说一句,为什么你不想使用.htaccess .. ??