聯(lián)系官方銷售客服
1835022288
028-61286886
tag標(biāo)簽偽靜態(tài)規(guī)則如何寫?
現(xiàn)象:
項目中會用到 “/index.php?s=tag&name=中國 ”的url,其中name的參數(shù)會有中文,我開啟偽靜態(tài)后,給這個URL配置的路由規(guī)則為:
"tag.html?name=([\u4e00-\u9fa5_a-zA-Z0-9]+)" => "index.php?s=tag&name=$1"
但我在home控制器中,無法獲取到name參數(shù)的值,$_GET打印出來也只有:
Array ( [s] => tag [c] => home [m] => index )
問題:
我這個路由規(guī)則是否有誤?tab標(biāo)簽獲取參數(shù)的方式有不一樣的嗎?
你這個路由規(guī)則感覺有毛病呢
"tag-(*).html" => "index.php?s=tag&name=$1"
這樣寫
但是我,我不建議在規(guī)則里面加問號
我配置了這個路由規(guī)則后,打開如:tag-中國.html后,直接是跳到404了~
回復(fù)@大圣
tag-中國.html對應(yīng)的規(guī)則是
謝謝,我最開始就是按這個規(guī)則來配置的,但是在home里打印$_GET就沒有name參數(shù)內(nèi)容,后面改成了"tag-(*).html?name=([\u4e00-\u9fa5_a-zA-Z0-9]+)"也還是不行~
我靜態(tài)規(guī)則的設(shè)置過程是這樣的:
在URL規(guī)則/偽靜態(tài) 中:在這個模塊中配置好nginx后,將對應(yīng)的url規(guī)則配置到rewrite.php中,然后更新緩存。
不知道這個步驟是否遺漏了什么?
回復(fù)@迅??蚣芗夹g(shù)-實習(xí)
調(diào)整問題:url規(guī)則可以正常匹配,但偽靜態(tài)后參數(shù)無法正常獲?。?/p>
URL對比結(jié)果:
1、獨立模塊:xxx,正則 "bbb\/act\/([0-9]+).html(.*)" => 'index.php?s=bbb&act=&1'
url格式1:http://www.xxx.com/index.php?s=bbb&act=1
在home中打印參數(shù)信息:
print_r(\Phpcmf\Service::L('Input')->get());
結(jié)果為:
Array ( [s] => bbb [act] => 1 )
url格式2: http://www.xxx.com/bbb/act/1.html
打印參數(shù)結(jié)果為:
Array ( [s] => bbb [act] => [1] => [c] => home [m] => index )
2、標(biāo)簽?zāi)K:tag,正則:"tag.html\?name\=([u4e00-u9fa5_a-zA-Z0-9]+)" => 'index.php?s=tag&name=$1'
//index.php?s=tag&name=中國,需要匹配中文
url格式1:http://www.xxx.com/index.php?s=tag&name=中國
打印參數(shù)結(jié)果為:
Array ( [s] => tag [name] => 中文 )
url格式2:http://www.xxx.com/tag.html?name=中國
打印參數(shù)結(jié)果為:
Array ( [s] => tag [c] => home [m] => index )
所以,問題出現(xiàn)在偽靜態(tài)后參數(shù)的獲取有變化了?
規(guī)則里面不能加問號的,復(fù)議二樓的書法