2012-09-26 49 views
0

動態HTML重定向使用路由器動態HTML重定向使用CakePHP路由器

在開始的時候我沒有類別和我所有的頁面都是根

例如:

http://domain/somepage 

這是偉大的,但隨着我多年來的內容增長,我需要對我的內容進行分類

所以我添加了一些路線,見下面 //routes.php

Router::connect(

"/:category/:slug", 
array('controller' => 'controllername', 'action' => 'view'), 
     array( 

      'name'=>'[-A-Z0-9]+', 

      'pass' => array('category','slug') 



     ) 

     ); 

//結束 這個偉大工程,完成了我需要做的,但有一個問題的搜索引擎。我需要寫301對我所有的環節,我有超過8K頁面。

該解決方案cakesphp的路由器::重定向

這個問題我現在有是我不能figurer如何重定向我的舊鏈接。例如,我可以將所有鏈接重定向到一個類別,但不會將其切斷。我需要將所有鏈接重定向到新位置。

我想使用routes.php文件路由器::重定向

如果我這樣做我的代碼重定向到的範疇,而不是塞

Router::redirect(
'/:slug/*', 
    array(
    'pass' => array('category/:slug')) 

結果

http://domain/category/ 

我怎樣才能得到蛋糕重定向到

http://domain/category/slug ? 

    instead of http://domain/category/ 

我有我所有的指向根目錄鏈接的
http://domain/somepage http://domain/anotherpage http://domain/ect

我需要添加類別

` 
    http://domain.com/phones/samsung.php 
    http://domain.com/books/cakephp.php 

`

我不想使用.htaccees文件,因爲

我的軟管提供了限制Ø100重定向

和我有超過8K聯繫我需要重定向

我試圖用蛋糕路由器::在routes.php文件文件重定向功能。

下面的代碼只適用於一個類別,它不會動態地執行它,就像我也喜歡它。 我試圖創建一個路由器類,可以像我這樣爲你做這件事,但要誠實地告訴你我不是cakephp的專家。它易於學習和一個偉大的框架,我只是不知道如何製作我自己的類或組件。我還沒有找到好的文檔來做到這一點。

//routes.php 

    $move='category/'. stripslashes_deep ($_SERVER['REQUEST_URI']);    Router::redirect('/:slug/*',$move, array('status' => 302)); code 
+0

使用自定義路由類。 看到[這篇文章](http://stackoverflow.com/questions/8089273/cakephp-custom-route-classes-how-to-pass-arguments) –

回答

0

最好的辦法是使用自定義路由類。

自定義路由擴展了CakeRoute類,並允許您返回/添加/修改傳遞的參數。

CakePHP Custom Route Classes - How to Pass Arguments?

+0

很好,我很新蛋糕,但我會嘗試它。我想這是學習API的好時機,所以我可以開始寫自己的課程。 – user1698137

+0

我無法讓我的課程工作,所以我在router.php文件中做了這個 我非常肯定還有另一種方法。如果有人有解決方案,我將不勝感激 'code \t $ move ='category /'。 stripslashes_deep($ _SERVER ['REQUEST_URI']); Router :: redirect('/:slug/*',$ move,array('status'=> 302));代碼' – user1698137

+0

告訴我你要做什麼,我會看看我是否可以幫忙 –