0

我有幾個網址,如
http://sitename.com/recipes/234
//sitename.com/recipes/235
//sitename.com/recipes/236

的URL MVC htaccess的重定向規則路線以這種方式設置:
//sitename.com/controller/action/ID

我需要寫一個htaccess規則,會做301重定向到
http://sitename.com/recipes
如果項目不存在,蛋糕會拋出404錯誤如果頁面不存在

我已經在覈心PHP中嘗試了這一點,它工作正常。但是我發現很難在MVC環境中做同樣的事情。我想在cakephp框架上實現它。

我嘗試使用下面的代碼

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?request=$1 [L] 
+0

你在用什麼框架?從標籤中不清楚。 – Jeiwan

+0

我想在cakephp框架上實現它。 –

+1

配方是否存在應該由您的應用程序處理,而不是.htaccess,因此您的重定向需要在應用程序的控制器中處理。你如何設置你的路線? – drmonkeyninja

回答

2

對於MVC,在你的食譜控制器視圖的方法,例如,你可以使用下面的代碼:

public function view($id = null) 
{ 
    // .... 

    $recipe = $this->Recipe->findById($id); 

    if (!$recipe) { 
     // Not found flash error message 
     return $this->redirect(
      array('action' => 'index'),// -> Recipes index page 
      301 
     ); 
    } 

    // .... 
} 

見文檔here

+0

嗨,就像我說過的我不想在控制器或路由中做任何更改。我需要知道這是否可以通過htaccess規則完成。 –

相關問題