2013-12-23 84 views
1

好的...CakePHP 2.4.3 URL重寫模塊不工作

厭倦了這個問題。所以我想我會問這裏

只是爲了澄清我沒有按照CakePHP文檔。我做了谷歌這個近2小時,你猜怎麼着......沒有運氣

  1. 我確實使國防部重寫 - >這個我花了一段時間,因爲我沒有一個httpd.conf文件
  2. 我編輯在根目錄等我htaccess文件包括:

    <IfModule mod_rewrite.c> 
        RewriteEngine On 
        RewriteCond %{REQUEST_FILENAME} !-d 
        RewriteCond %{REQUEST_FILENAME} !-f 
        RewriteRule ^(.*)$ index.php [QSA,L] 
    </IfModule> 
    

由於在本網站

沒有運氣推薦的另一個海報。我是否缺少一些特別的東西,比如我的裝置上有一些神祕的獨角獸灰塵,還是我很愚蠢?

還是讓我知道,如果你需要別的東西

哦,我做了一個安裝LAMP事情前一段時間

你指導我們將不勝感激:)

[編輯] cahnged標籤,而不是2.4的2.3 < - 我的不好

+0

「不工作」是什麼意思? – Leonardo

+0

請提供類似的路徑而這一切的.htaccess文件的詳細信息... – Anubhav

+0

那麼有歡迎頁,這從我讀意味着重定向不工作無定型。以及錯誤消息: 您的服務器上未正確配置URL重寫。 \t 1)幫我配置它2)我不知道/不能使用URL重寫 – wickd

回答

1

如果您必須啓用mod_rewrite,那麼您的默認apache安裝程序也需要更改以允許正確執行.htaccess。默認情況下,公共可訪問目錄中的大多數.htaccess規則將被拒絕。

根據你的設置你應該有這樣的東西...

<Directory /var/www/> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride None 
    Order deny,allow 
    deny from all 
</Directory> 

在config目錄下發現一個apache的,這可能是像

/etc/apache2/sites-available/default 

需要注意的是上述路徑,並在您的目錄標籤在/ var/WWW/路徑之上,可能會有所不同。

你需要改變一些東西,比如AllowOveride和其他人也有一些下面匹配。檢查差異。

<Directory /var/www/> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
    allow from all 
</Directory> 

一旦你已經改變了,重啓apache,希望你會看到,在你的.htaccess文件中的規則正在執行。

+1

感謝您排序! – wickd

0

我想你錯過了/ $ 1部分。

我的根目錄的.htaccess看起來是這樣的:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?/$1 [QSA,L] 
</IfModule> 

我也有過與重寫和CakePHP的一些服務器上的過去的問題,我需要在文件名開頭添加一個斜槓,如顯示:

RewriteRule ^(.*)$ /index.php?/$1 [QSA,L] 

但是我不認爲這是你的問題在這裏。

+0

感謝您的答覆試過,但還是不能正常工作 – wickd

0

/var/www/app/webroot/.htaccess

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] 
</IfModule> 

/var/www/app/.htaccess

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

/var/www/.htaccess

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

請使用這些.htaccess文件來配置您的應用程序

+0

也感謝還提供了答案不工作:( – wickd

+0

請分享錯誤日誌 – 2013-12-24 09:14:33