2013-03-26 107 views
0

我是新使用CakePHP,我正在尝试设置友好的URL为我的网站,但我有问题。友好的URL CakePHP的2.3

我已经做了所有的CakePHP的2.3书上说的步骤,我的Apache配置说,正在执行的mod_rewrite。

当我进入蛋糕的主页时,它说URL重写没有配置,当我想访问我的网站时,我需要浏览www.mysite.com/index.php/controller/功能,当然,我想这个:www.mysite.com/controller/function,如果我尝试这条路线,它说,我的服务器中找不到(我有控制器和功能创建)。

这是我的.htacces文件:

根目录:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ app/webroot/ [L] 
    RewriteRule (.*) app/webroot/$1 [L] 
</IfModule> 

app目录:

<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 [QSA,L] 
</IfModule> 
+1

这是一个局部M/W/LAMP服务器上或者是在一些支付网站托管?如果它是您自己设置的Apache安装,那么您可能需要检查配置以确保为虚拟主机设置了“AllowOverride All”。但是,如果它是付费托管,那么这可能会由供应商设定。 – Joseph 2013-03-26 03:19:59

+0

这是在我自己的ubuntu服务器上,我输入了apache2.conf文件(因为我在网络上读取配置是在这里,而不是在httpd.conf中)并添加以下行: ' 选项FollowSymLinks 设置AllowOverride所有 #订单拒绝,允许 #所有 user2209678 2013-03-26 13:34:26

回答

0

我解决它。在文件/ etc/apache2/sites-enabled/000-default中,该目录指向/ var/www,而我的cakephp目录位于/ var/www/html/myapp/cakephp中。我改变了它,现在它的工作! :)

+0

拒绝。如果你的web目录是在/ var/www/html等/ MYAPP/CakePHP的则在000默认的文件/ var/WWW会,如果你在访问有效该网站在http:// localhost/html/myapp/cakephp中,但是如果您想仅以http:// localhost /访问它,则需要按照您提及的方式更改它。 – Joseph 2013-03-27 02:53:17