簡體   English   中英

CakePHP 2.4.3 URL重寫模塊不起作用

[英]CakePHP 2.4.3 URL-Rewriting module not working

好...

厭倦了這個問題。 所以我想在這里問

為了澄清起見,我確實遵循了Cake PHP文檔。 我用谷歌搜索了將近2個小時,然后猜猜是什么...

  1. 我確實啟用了mod-rewrite->這花了我一段時間,因為我沒有httpd.conf文件
  2. 我在webroot等中編輯了htaccess文件,其中包括:

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

如本網站另一位海報所推薦

沒運氣。 我是否在這里遺漏了一些特別的東西,例如在我的裝置上散發着神秘的獨角獸般的灰塵?

我知道你是否還需要其他東西

哦,我前段時間做了LAMP安裝

您的指導將不勝感激:)

[編輯]標記從2.4改為2.3,而不是<-我的壞

如果必須啟用mod_rewrite,那么還需要更改默認的Apache設置,以允許.htaccess正確執行。 默認情況下,公共可訪問目錄中的大多數.htaccess規則將被拒絕。

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

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

在您的apache的配置目錄中找到,可能類似於

/etc/apache2/sites-available/default

請注意,上面的路徑以及上面的Directory標記中的/ var / www /路徑可能有所不同。

您將需要更改一些內容,例如AllowOveride以及下面要匹配的其他一些內容。 檢查差異。

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

更改后,重新啟動apache,希望您會看到.htaccess文件中的規則正在執行。

我認為您缺少/ $ 1部分。

我在webroot中的.htaccess如下所示:

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

過去在某些服務器上我也遇到了rewrite和cakePHP的問題,我需要在文件名的開頭添加一個斜杠,如下所示:

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

但是我不認為這是您的問題。

/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文件配置您的應用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM