所有。这次我尝试使用cakephp,但是我的“服务器上没有正确配置URL重写.1)帮我配置它2)我不能/不能使用URL重写”。我可以知道这是apache和.htaccess问题,例如/ etc / apache2 / sites-avaliable / default和每个目录.htaccess。
我的开发环境......
遵循我的流程......
1)/etc/apache2/httpd.conf
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
2)启用mod_rewrite
sudo a2enmod rewrite
sudo service apache2 reload
3)编辑/ etc / apache2 / sites-avaliable / default(AllOverride None to AllOverride All)
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
prompt: sudo service apache2 reload
4)编辑或检查每个.htaccess文件 - &gt;蛋糕根目录
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
- &gt; app根目录
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
- &gt; webroot目录
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
</IfModule>
这个问题解决了,谢谢。
答案 0 :(得分:6)
我也有这个问题。原来 .htaccess 文件没有被复制到cakePHP源旁边。这是使用cp命令或在文件浏览器中没有隐藏文件时的常见问题,除非您复制顶级目录。
将文件直接复制到我的项目文件夹,为我修复了它,而不必弄乱我的apache设置。
cp ~/git/cakePHP/.htaccess ~/project/folder/
答案 1 :(得分:0)
可能的配置错误:
检查文件http://your_domain_name/css/cake.generic.css
是否可以从浏览器中重新获取。如果没有,您将在Default-Homepage
如果您在根级别有 {HOME}/css
目录,则UrlRewriting不会将http://your_domain_name/css/cake.generic.css
重定向到{HOME}/app/webroot/css/cake.generic.css
。
因此找不到css-File,导致没有正确配置URL重写的消息。 (查看文件app / View / Pages / home.cpt)
解决方案:在根级别完全删除{HOME}/css
目录。将您的css-File放在{HOME}/app/webroot/css
。
答案 2 :(得分:-1)
这可能是文件权限问题。尝试以递归方式为webroot和tmp目录设置777的权限。 tmp目录可能需要sudo。
sudo chmod -R 777 /path/to/app/webroot/
sudo chmod -R 777 /path/to/app/tmp/