将CakePHP部署到子文件夹



我已经创建了一个cakephp 2应用程序,现在我试图将其部署到生产网络服务器。

我的应用程序使用默认文件夹结构(app/lib/插件/供应商),默认的htaccess,默认路由,没有什么特别的。

我一直在本地开发,好像应用在站点的根文件夹中(例如http://mycakeapp.localhost/带我到该站点)。但是我正在部署到一个不会发生这种情况的网站(共享托管)(例如http://www.somedomain.com/mycakeapp)。

它不起作用(我真的没想到它),所以我认为我不得不调整一个或多个HTACCESS文件。我尝试修改本文中建议的root .htaccess,但这只有部分作用(例如,链接与CSS无效):

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule  ^mycakeapp$  mycakeapp/app/webroot/  [L]
RewriteRule  ^mycakeapp/(.*)$  mycakeapp/app/webroot/$1  [L]
</IfModule>

那么,我应该对所有HTACCESS文件做什么使此CakePHP网站在子文件夹中工作?

更新:

网站的根部有一个.htaccess文件,我在下面粘贴了其内容。那里的东西拧紧了吗?

RewriteEngine on
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^somedomain.com$ [NC]
RewriteRule ^(.*)$ http://www.somedomain.com/$1 [R=301,L]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^secure/$ https://www.somedomain.com/secure [R=301,L]
RewriteRule ^about.html$ /contact.php [R=301,L]
RewriteRule ^contact.html$ /contact.php [R=301,L]
RewriteRule ^download.html$ /signup.php [R=301,L]
RewriteRule ^index.html$ /index.php [R=301,L]
RewriteRule ^privacy.html$ /policies.php [R=301,L]
RewriteRule ^website.html$ /business-websites.php [R=301,L]
RewriteRule ^return.html$ /policies.php [R=301,L]

这篇文章有点古老,但是在为我的第一个CakePHP应用程序部署到子文件夹时发现了它。以下.htaccess行可以修改根文件夹(for):

RewriteBase /subdir/

有时Apache在httpd.conf或虚拟主机配置文件中需要其他权限或选项,类似于以下:

    <Directory />
            Options FollowSymLinks
            AllowOverride All
    </Directory>
    <Directory /var/www/html/site_folder>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
            AddOutputFilterByType DEFLATE text/html text/plain text/xml
    </Directory>

相关内容

  • 没有找到相关文章

最新更新