作者:Only-安之若素 | 来源:互联网 | 2018-07-17 11:53
ec(2);ZF开发的PHP应用与传统PHP应用集成的方法大家知道,ZF需要将所有HTTP请求全部交由index.php(bootstrap)来处理,所以我们需要配置服务器的URL重写规则,例如Apache的httpd.conf:RewriteEngineOnRewriteCond%{REQUEST_URI}!^.*(.css|.js|.html|.zf|.gif
ZF开发的PHP应用与传统PHP应用集成的方法
大家知道,ZF需要将所有HTTP请求全部交由index.php(bootstrap)来处理,所以我们需要配置服务器的URL重写规则,例如Apache的httpd.conf:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^.*(.css|.js|.html|.zf|.gif|.pdf|.rar|.ppt|.chm|.png|.jpg|.jpeg)$
RewriteRule ^(/.*)$ /index.php
我们把对除了特定扩展名外的所有文件的请求都转向到index.php。
但是这样就出现了一个问题:如果我想将一个已有的PHP程序放到网站中,怎么办? 对程序的请求也都转向到index.php,显然程序无法正常工作了。
通过修改URL重写规则,我们可以解决这个问题。
例如安装discuz!论坛,我们把它装在/bbs目录下,那么我们可以这样改写rewrite规则:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^.*(.css|.js|.html|.zf|.gif|.pdf|.rar|.ppt|.chm|.png|.jpg|.jpeg)$|.*(bbs).*
RewriteRule ^(/.*)$ /index.php
注意,我们在最后加上了一个|.*(bbs).*,也就是说如果请求中有出现bbs字样就不转向到index.php,这样我们就可以访问
bbs目录下的所有文件而不会转向到/index.php了。
使用这个办法,可以方便地将ZF开发的程序和传统的PHP程序集成起来。