编写Web应用程序时,是否应通过单个index.php文件链接所有文件。 做这样的事情有助于安全,或者它会在以后产生更多的复杂性。
你们如何实现这一目标?我见过的大多数(如果不是全部)网站都使用这种方法。有这个原因吗?
非常感谢任何帮助。
答案 0 :(得分:2)
这样做与安全性无关。
主要优点是让每个请求通过index.php
确保您在应用程序的PHP代码中有一个入口点 - 这意味着您可以将初始化/配置代码放在(或从那里调用它并且它将永远被执行。
关于如何实现这一点,你需要:
RewriteRule
所以对不存在的文件的所有请求都会发送到index.php
index.php
脚本(或由index.php
调用的地方,如路由器)中,添加一些代码来调用正确的控制器/操作。
对于RewriteRule
,例如,通常使用Zend Framework执行的操作:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]