我一直试图在我的服务器的开发部分设置CakePHP,但我似乎无法解决"URL重写没有在您的服务器上正确配置“的错误。我怀疑我没有使用正确的RewriteBase配置.htaccess文件。我已经为每个文件尝试了各种不同的RewriteBase,但我似乎无法找到正确的,并且除了“不工作”(URL重写错误不会出现在Cake的错误日志中)之外,Cake没有给我任何信息。
我无法访问我的httpd.conf文件,但我已经将.htaccess和mod_rewrite与其他框架(Wordpress和CodeIgniter)配合使用,没有出现任何问题。
我的网站基本网址是:http://dev.domain.com/cake/
我的基本服务器路径是: /home/username/public_html/dev/cake/
蛋糕根.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /cake
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
蛋糕应用目录.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /cake/app
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
Cake webroot目录.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /cake/app/webroot
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>
发布于 2011-11-30 02:30:25
您是否创建了一个新的default.ctp布局文件,然后"URL重写没有在您的服务器上正确配置“。出现了吗?
如果是这样的话,这件事发生在我身上。它工作得很好。我认为Cake在这里抛出了一个糟糕的错误消息。
发布于 2012-06-06 18:49:41
问题出在CSS上。如果你没有在默认布局的蛋糕上制作页面,并且在你的新布局中你没有默认的css: cake.generic.css,它会在页面home.ctp上显示这个错误。查看home.ctp (视图/页面)的代码,并查看<p>
的id="url-rewriting-warning"
,其中此错误消息包含在display:none
的cake.generic.css值中。
发布于 2011-11-30 02:07:20
你的vhost.conf是什么样子的?如果您在DocumentRoot
中有一个正确的路径,那么您根本不需要在.htaccess中指定RewriteBase
。只需使用默认值即可。
在vhost中尝试DocumentRoot /home/username/public_html/dev/cake/app
,并从.htaccess中删除RewriteBases
。
https://stackoverflow.com/questions/8314708
复制相似问题