2

我正在为我用 PHP(我很少使用)为客户端构建的站点开发一个后端,该站点几乎完成了。我主要是 Rails 开发人员,所以我很难不去使用一些混蛋版本的 CRUD 设置,我正在尝试清理 url。

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

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

我打算只取最后一点的 url$_SERVER['PHP_SELF']并使用它搜索数据库,但我想做的是把 index.php 文件扔到http://www.example.com/videos/目录和当我明确指出某人指向http://www.example.com/videos/name-of-video/时是否可以使用它,如果这有意义的话。

如果我将 index.php 放在 /videos/ 目录中,这会按原样工作,还是需要其他东西?有没有可能不搞乱htaccess?

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

谢谢!

4

2 回答 2

3

有几个选项可以在没有 RewriteRule 的情况下完成。并非没有 .htaccess 混乱。

首先,您可以命名一个没有扩展名的 PHP 脚本,即video代替video.php,然后通过ForceType或设置实际文件类型DefaultType。所以 PHP 解释器仍然会接受它。路径将显示在$_SERVER['PATH_INFO'

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

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

Anindex.php本身不会在虚假路径中获取任何随机文件名。唯一可行的选择是使用 URL,例如http://www.example.com/videos/?name-of-video/

所以不行。没有一些配置就没有目录模仿的好 URL。

于 2011-10-22T04:56:26.473 回答
2

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

如果这个任务可以在没有 .htaccess 的情况下完成,那么它们将永远不会被使用。顺便说一句,您为什么不想使用 .htaccess ..?

于 2011-10-22T04:49:47.167 回答