我在我的网站上有一个在根目录中运行的Wordpress,即:mysite.com /
我需要创建一个ZF应用程序,并将其托管在我托管的子目录下,即:mysite.com/backend
我在根目录下做了:
%zf创建项目后端
它在我的根目录下创建了“后端”目录,其中包含了所有项目。
在我的根目录下,我有这个.htaccess文件:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
在webroot / backend / public下我有.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
我正在使用ZF 1.11
我无法确定如何配置.htaccess文件以使此zf应用程序在子目录下运行。
问候!
答案 0 :(得分:1)
目前您有一个文件夹后端。所以它看起来像
mysite.com/backend
现在使用
创建项目时zf create project <project name>
您将获得目录结构。从那里将index.php和.htaccess(从公共文件夹)移动到后端文件夹。
将所有剩余文件夹上传到无法通过网络访问的文件夹。即在网络根目录下面(公共或任何你打电话)
根据项目文件夹的位置,更改后端文件夹的index.php中的APPLICATION_PATH。
使用zend框架非常容易。希望这会对你有所帮助。
可能你想看看wordpress .htaccess是否会允许已存在的目录。
答案 1 :(得分:0)
我不得不把这个.htacess放在mysite.com/backend
中RewriteEngine On
RewriteRule !\.(csv|js|gif|jpg|png|css|txt)$ public/index.php [L]
然后在我的Bootstrap.php中:
public function run() {
$front = $this->getResource('FrontController');
$front->setBaseUrl('/backend');
}
因此,Zend可以以正确的方式路由请求。