如何在wordpress网站中放置zend框架应用程序


How to place zend framework application in a wordpress website

最近我用PHP为一家小公司创建了一个应用程序(销售门户)。该公司有一个用word press开发的网站。由于我没有使用word press,我将应用程序嵌入网站的方式是,我只需在主机上创建一个子目录,并将应用程序上传到那里。例如:

domainname.com-他们的网站

domainname.com/portal-是我的应用程序所在的位置("index.php"文件)。

一个月以来,我一直在学习Zend Framework 1.8,我想在Zend Framework中重写门户,因为我从头开始写门户,它的核心并不像实现Zend框架那样安全。

我的问题是,我可以像使用"从头开始"应用程序那样,在主机上创建一个子目录并上传应用程序,将Zend框架应用程序包含到wordpress网站中吗?如果是,我应该如何配置Zend应用程序,使其将"domainname.com/portal"识别为域名(作为主目录)。

我现在面临的问题是,当我打字时http://www.domainname.com/portal/sales它返回404,因为服务器上没有这样的目录。当然,我对上面提到的链接(domainname.com/portal/sales)的意思是:

网站:domainname.com/portal控制器:销售操作:索引

我尝试过"domainname.com/portal/index.php/sales",但当有人用"domainname.com/sportal/"链接打开门户时,下一个被点击的链接(例如domainname.com/sortal/sales)显示404。

(注:网站http://www.domainname.com也应可访问)

提前谢谢。

我相信wordpress使用.htaccess将所有URL重定向到其index.php.

这是我从测试安装中提取的.htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index'.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>

在您的情况下,您需要修改.htaccess文件,使其不关心http://domainname.com/portal.

在您的情况下,.htaccess文件可以如下所示:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} "/portal/"
RewriteRule (.*) $1 [L]
RewriteRule ^index'.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>

基本上,它所做的是忽略子文件夹"门户",不使用任何正常规则进行处理。

然而,可能也有不利的一面:如果wordpress的未来版本更新了.htaccess文件,那么你需要再次对该文件进行这些更改。

[C] 我将Zend框架应用程序嵌入wordpress网站,就像我使用"从头开始"应用程序一样,在主机上创建一个子目录并上传应用程序?

是的,你可以。

[H] 我应该如何配置Zend应用程序,使其将domainname.com/portal识别为域名(主目录)[?]

当然,请参阅基本Url和子目录­文档如何为基于Zend Framework的应用程序配置请求/路由。