我試圖取代像是否可以使用Route :: Connect路由到查詢字符串參數?
mysite.com/uploads:27
一個URL到 mysite.com/uploads/upload?upload=27
我原來的計劃是使用.htaccess文件是這樣的:
RewriteRule ^upload:(.+) /uploads/upload?upload=$1 [L]
然而,我發現這不是蛋糕有幾個.htaccess文件的最好主意。無論如何,這個規則並沒有奏效。
所以我去看蛋糕的路線。但是,我似乎無法弄清楚如何路由到一個URL查詢字符串參數。
我想:
Router::connect('/upload::upload',
array('controller' => 'uploads',
'action' => 'upload',
'?' => array('upload' => '23')
)
);
不過,我不認爲路由器連接::意在以這種方式工作。沒有查詢字符串數據被傳遞給上傳控制器。鑑於我在文檔中讀到的內容,我沒有想到這會起作用。
http://book.cakephp.org/2.0/en/development/routing.html 「路由是一種將URL映射到控制器操作的功能」 - 我猜這意味着查詢字符串params不適用於這種情況。
那麼有什麼辦法可以讓我按照我想要使用.htaccess的方式行事嗎? 我很驚訝沒有辦法做到這一點,因爲使用.htaccess縮短查詢字符串是一項常見任務。
像本教程顯示:http://www.elated.com/articles/mod-rewrite-tutorial-for-absolute-beginners/ 或apcahe文檔: http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
NB:我清楚地知道,URL映射我想(尤其是上傳:27的語法與冒號)是對蛋糕公約。我的應用程序未配置爲像mysite.com/uploads/upload/27這樣的文檔,因爲文檔建議我應該這樣做。我更想知道如何按照我在第一個地方想象的方式來做到這一點。
你們是不是要在內部僅此映射,即URL實際上不應該改變,或將重定向被罰款嗎? – ndm
重定向也可以。我只是希望用戶能夠輸入所需的鏈接來獲取他們的模型。 – baordog