聯系官方銷售客服
1835022288
028-61286886
關于偽靜態的問題,我有一個問題詢問各位大佬。
是這樣的我做的網站主目錄是按照年代走的,比如2012、2013之類的,每個分目錄下都有一個A、B的子目錄,但是因為目錄名字不能重復所以是A2012、A2013這樣形式的。
URL規則組合起來就是【2012\A2012、2013\A2013】這樣形式的不好看,就用自定義函數給去掉后面的2012和2013變為【2012\A、2013\A】。
但是在偽靜態解析就出現問題了,比如我用正則表達式:
([\w]+)\/(A)
來取得出來的是:
$1=2012,$2=A
到這里取出都是沒問題的,但是因為想指向到2012A這個目錄,肯定是希望$2+$1得出A2012這樣子的,就在后面寫的是:
index.php?c=category&dir=$2$1
結果發現這里不會相加,這里會到
index.php?c=category&dir=A
這個地址,因為沒有A這個欄目就提示欄目(A)不存在。。。
其實簡單的就是想問如何將解析規則中的變量$1和$2之類的相加。。。
先感謝諸位大佬。
目錄名字是什么樣子的
回復@Compas 目錄名字是游戲名字,游戲是年代游戲,fifa19,比如我想 fifa19/news/index.html、fifa20/news/index.html 這樣的,因為子目錄news又不能重復。。。只能變成 fifa19/19news 之類的,這不就不美觀了么,就有如上的問題了。
fifa19是目錄的話
對應的規則就是:
回復@天天向上
感謝大佬回答,但是這樣可以取出 fifa19 的目錄進行訪問,但是無法通過 fifa19/news 訪問到 fifa19下的子目錄 19news當中去。
我原先的想法是這樣的:
通過這樣 取出 $1=19 然后 $2=news,然后再在dir這里相加出來,結果不行只會出現$1的19導致不顯示目錄,哪怕我不取兩個變量相加:
結果也是一樣的只會指向 index.php?c=category&dir=19 導致如下結果:
fifa19/19news是目錄的話
fifa19/news/index.html 對應的規則就是:
回復@二開/定制/使用解答專家
感謝大佬回答,但是是不行的,你看我的設置。。。
父目錄是 fifa19 子目錄是 19news,然后URL規則那里也沒問題通過自定義函數把子目錄的 19news改為了 news,但是這樣解析規則 $1 取出的就是 news 而不是 19news。。。
原理很簡單,應用看個人能力,正則表達式拆分匹配方式
fifa19/news/index.html 紅色的才是真正的欄目目錄嗎?那只能曲線救國了
新建文件:
/dayrui/Core/Controllers/Mycategory.php