大牛們都是怎麼做的,請指點下
菜鳥認為
htacess唯一的壞處就是 伺服器環境不支援htacess就傻眼了 win系統比較麻煩
正則擷取呢, 調用的時候比較麻煩
比如一個url http://xxx.com/音樂/流行歌曲/中文/22.html
這種結構的 看上去比較美觀 實際上 我只需要最後一個參數’22‘和倒數第二個‘中文’去查詢資料庫就可以,上級目錄可以通過parent值往上爬得到。
如果目錄深度不固定
如何擷取最後一個參數和倒數第二個?
$url = array_slice(explode('/',$_SERVER['REQUEST_URI']), 0);
回複討論(解決方案)
$url = "http://xxx.com/音樂/流行歌曲/中文/22.html";$pathinfo = pathinfo($url);var_dump($pathinfo['filename']);//22$dir = pathinfo($pathinfo['dirname']);var_dump($dir['filename']);//中文
當沒有 urlrewite 時,你的 /音樂/流行歌曲/中文/22.html 顯然是 404 的
於是你只用通過自己的 404 處理常式來處理
不過這又涉及到 網頁伺服器的設定了,圈子又繞回去了
對於
如何擷取最後一個參數和倒數第二個?
$url = array_slice(explode('/',$_SERVER['REQUEST_URI']), 0);
這樣不可以,你沒有弄清楚參數的用法
$url = array_slice(explode('/',$_SERVER['REQUEST_URI']), -2);
就可以了
通過正則控制偽靜態,這個是比較容易配置,適合程式碼片段。
.htaccess 伺服器必須支援rewrite,還有.htaccess檔案解析才有效。
$url = array_slice(explode('/',$_SERVER['REQUEST_URI']), -2);
還可以是負數啊, 學習了,多謝各位。