我正在开发一个简单的Zend Framework网站,另外还有一个针对同一网站的myBB论坛。
我放置了论坛(在Zend脚手架的公共文件夹中名为'forum'的文件夹中,但创建了一些问题,因为控制URL重写的.htaccess会导致论坛出现问题。
然后我将论坛放在公共文件夹之外。只有当我删除.htaccess时才能正常工作,但Zend显然不起作用。
如何使.htaccess重写工作,如果使用url http://www.mysite.com/forum,它将不会重写Zend Framework的url,其他任何内容都应该转发到公共文件夹。
我的webroot .htaccess代码是:
RewriteEngine On
RewriteRule ^\.htaccess$ - [F]
RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ /public/index.php [NC,L]
RewriteCond %{REQUEST_URI} !^/public/.*$
RewriteRule ^(.*)$ /public/$1
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^public/.*$ /public/index.php [NC,L]
TIA 约翰
答案 0 :(得分:1)
.htaccess修改如下:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^\.htaccess$ - [F]
RewriteRule ^(forum)($|/) - [L]
RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ /public/index.php [NC,L]
RewriteCond %{REQUEST_URI} !^/public/.*$
RewriteRule ^(.*)$ /public/$1
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^public/.*$ /public/index.php [NC,L]
答案 1 :(得分:0)
尝试在论坛的文件夹中输入htaccess文件:
RewriteEngine On
没有任何规则。这将使得父目录中的规则不会被应用。