0
使用mod_rewrite(和CakePHP):mod_rewrite的變化,原始的URI
RewriteRule ^javascript/(.*) /combine?type=javascript&files=$1 [PT,L]
我想改變
http://bla.com/javascript/flyout.ribbon.js,jquery.min.js
到
http://bla.com/combine?type=javascript&files=flyout.ribbon.js,jquery.min.js
的問題是CakePHP的看原始URL(在parseParams()內部)下面)http://bla.com/javascript/並決定我要訪問JavascriptController/JavaScript的,而不是CombineController /組合內Dispatcher.php
public function dispatch(CakeRequest $request, CakeResponse $response, $additionalParams = array()) {
if ($this->asset($request->url, $response) || $this->cached($request->here)) {
return;
}
Router::setRequestInfo($request);
$request = $this->parseParams($request, $additionalParams);
.....
}
public function parseParams(CakeRequest $request, $additionalParams = array()) {
if (count(Router::$routes) == 0) {
$namedExpressions = Router::getNamedExpressions();
extract($namedExpressions);
$this->_loadRoutes();
}
$params = Router::parse($request->url);
$request->addParams($params);
.....
}
有沒有什麼辦法可以修改使用mod_rewrite原始URL?通過添加以下(或我只是誤解的東西)
我認爲這是可以在路線PHP來實現,在config文件夾。那裏你可以把如何解析參數/頁面...這是解決你的問題的方法,因爲我不知道如何搞砸.htaccess – api55