cakephp 无法在 Ubuntu 上进行 url 重写

2024-06-19

全部。这次我尝试 cakephp,但我得到了“您的服务器上的 URL 重写未正确配置。1) 帮我配置它 2) 我不/不能使用 URL 重写”。我可以知道这是 apache 和 .htaccess 问题,例如 /etc/apache2/sites-avaliable/default 和每个目录 .htaccess。

我的开发环境...

  • vmware fusion 4 上的 Ubuntu 12.04
  • 阿帕奇2.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-available/default(AllOwoverride None 到 AllOwoverride 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>

这个问题已经解决了,谢谢。


我也有这个问题。事实证明.htaccess文件没有与 cakePHP 源一起复制。这是使用 cp 命令或在文件浏览器中看不到隐藏文件时的常见问题,除非复制顶级目录。

将文件直接复制到我的项目文件夹中,为我解决了这个问题,而不必弄乱我的 apache 设置。

cp ~/git/cakePHP/.htaccess ~/project/folder/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cakephp 无法在 Ubuntu 上进行 url 重写 的相关文章