1

用作其他脚本的加载程序是不好的index.php还是会有所作为?

index.php使用不同的查询字符串请求并在其中选择并包含匹配的脚本。

例如

www.example.com/?sign-in代替www.example.com/sign-in.php www.example.com/?new-post代替www.example.com/new-post.php

通过这种方式,您可以index.php用来执行常见的包含和过程,例如设置时区、mb 编码、数据库连接、身份验证等。

4

4 回答 4

2

是和否

问题是这样做会失去任何 SEO 价值,例如: domain.com/index.php?post=story 对 domain.com/post/story 的排名会很差。此外,您的 index.php 很快就会变得一团糟。

话虽如此,MVC 通常使用 index.php,所以我的 url 将是 domain.com/users/edit/123 这是一个非常合乎逻辑的 url,但实际调用的是 domain.com/index.php ,然后它会查看第一个参数“users”并实例化用户控制器,然后在其中查找函数编辑并将“123”(用户 ID)作为函数中的第一个参数传递。如果您不熟悉 MVC,我建议您将 codeigniter 作为入门,更多关于 codeigniter

最后,您将只是通过从头开始构建它来重新发明轮子,而不是使用 MVC 使开发更容易。

于 2013-04-24T07:51:06.757 回答
2

最佳实践是让 apache 将所有 url 重写为一个index.php或其他可以用作引导程序的文件。此引导程序运行所有基本代码,然后此引导程序可以根据 url 确定要采取哪些其他操作。

每个框架都是这样工作的。

您可能想在引导程序中做几件事:

  • 设置,自动加载类

  • 设置mysql连接

  • 检查用户是否已通过特定操作的身份验证

有很多关于用 apache 重写 url 的教程:http ://www.workingwith.me.uk/articles/scripting/mod_rewrite

如果您真的想了解最佳实践,我建议您查看现有框架,了解它们如何实现某些东西。例如:Zend 或 Symfony

于 2013-04-24T07:42:40.273 回答
1

除了将所有请求(通过 htaccess)路由到 index.php 之外,您还可以拆分路由以映射到其他文件:

/blog/hello-there映射到blog.php?title=hello-there

/sign/in映射到login.php?login

等等,因此您可以根据请求 URL 创建自己的简单路由;易于阅读和维护。

该解决方案适用于小型项目,对于较大的项目,我建议使用完整的框架,如 Yii 或 Symfony。

于 2013-04-24T08:13:19.990 回答
1

这是最好的方法。您可以控制您的网站。index.php按需创建和包含其他文件。(定义一个常量并在包含的文件等中使用它)
但请记住尽可能减少index.php
您也可以使用 Apachemod_rewrite生成 SEO 友好的 URL。

于 2013-04-24T08:06:31.607 回答