【发布时间】:2012-06-05 19:31:02
【问题描述】:
全部。这次我尝试使用 cakephp,但出现“您的服务器上未正确配置 URL 重写。1)帮我配置它 2)我不/不能使用 URL 重写”。我可以知道这是 apache 和 .htaccess 问题,例如 /etc/apache2/sites-avaliable/default 和每个目录 .htaccess。
我的开发环境...
- vmware fusion4 上的 Ubuntu12.04
- apache2.2.22
- mysql5.5
- php5.3.10
- cakephp2.1
按照我的流程...
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 文件 ->蛋糕根目录
<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>
->webroot 目录
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
</IfModule>
这个问题已经解决了,谢谢。
【问题讨论】:
-
对我来说这就是诀窍。 sudo a2enmod rewrite && sudo service apache2 reload
-
除了第 1 步,我什么都做了。谢谢^^"
标签: apache cakephp mod-rewrite cakephp-2.1