apache - url 位址重寫 如何去區分 '? ' 問號
ringa_lee
ringa_lee 2017-05-16 17:04:10
0
1
518

網址:http://localhost/aaa/bbb-ccc=222

RewriteRule ^([a-z,\/,_,0-9]*)-(.*)$ index.php?routeeee=$1&$2 [L]

當用 ‘-’ 去區分位址URL時 資料都可以取得到,’-‘相當於一個分隔符號

Array ( [routeeee] => aaa/bbb [ccc] =>222 )

當url位址中的‘-‘ 換成’? ‘ 時就無法取得數據 RewriteRule ^([a-z,\/,_,0-9]*)?(.*)$ index.php?routeeee=$1&$2 [L] http://localhost/aaa/bbb?ccc=222

Array ( [routeeee] => index [_php] => )

RewriteRule ^([a-z,\/,_,0-9]*)?(.*)$ index.php?routeeee=$1&$2 [L] 這條規則該如何寫 才能正常匹配 取得到正確的資料。

\? 轉義 ‘? ’問號的話 就不符了

不勝感激

但是在nginx中這樣是可以使用的

rewrite ^/(.)?(.)$ /index.php?route=$1&$2 last;這條規則在 nginx 是正常的。

ringa_lee
ringa_lee

ringa_lee

全部回覆(1)
淡淡烟草味

apache 預設是忽略 querystring 的
RewriteRule ^([a-z,/,_,0-9]*)$ index.php?route=$1& [L,QSA]

這樣就OK了,強行執行時加上querystirng 好簡單呀

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!