2013-03-26 103 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