我对cakephp和php一般都是新手。我一直在开发一个小型的Web应用程序,主要是在WAMP服务器上使用cakephp的前端。一切正常,直到我将其部署到现场。这不是此服务器上唯一的应用程序,因此我的本地WAMP上的路由localhost/home/page
就在domain/newsite/app/home/page
。<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
。在实际站点上,当尝试加载css文件时,它会出现500错误。
我错过了什么?提前致谢!
我的.htaccess文件如下。
echo $this->Html->css('bootstrap');
echo $this->Html->css('bootstrap_top_carousel');
echo $this->Html->css('bootstrap_overrides');
echo $this->fetch('css');
我的css文件加载了以下内容:
{{1}}
答案 0 :(得分:0)
对于许多托管服务,您的Web服务器实际上是从用户目录提供的。如果要将CakePHP安装到用户目录或任何其他已经使用mod_rewrite的URL结构中,则需要将RewriteBase语句添加到CakePHP使用的.htaccess文件中(/.htaccess,/ app / .htaccess,/ app /webroot/.htaccess)。
这可以使用RewriteEngine指令添加到同一部分,例如,您的.htaccess文件将如下所示:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /path/to/cake/app
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /path/to/cake/app
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /path/to/cake/app
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
当然,您需要将RewriteBase /path/to/cake/app
替换为您的路径
CakePHP安装目录。