為什么我按照官網(wǎng)的自定義程序路由設(shè)置了之后,會員中心其他地址都變靜態(tài),只有會員中心首頁還是動態(tài):https://yinwumy.com/index.php?s=member。
懷疑是偽靜態(tài)沖突,取消模塊欄目內(nèi)容、搜索偽靜態(tài),依然如此。
手動訪問member.html報(bào)404,內(nèi)容是:
欄目(member)不存在(開發(fā)者模式下不跳轉(zhuǎn)到404.html頁面)
ps,源碼就是官網(wǎng)自定義程序路由的源碼,沒做任何修改。
http://223987.com/doc/547.html
看下下面的官方文檔,里面有解析規(guī)則,而且我說了其他頁面都生效,比如充值頁面:https://yinwumy.com/member.html?app=pay&c=recharge&m=index。
回復(fù)@小孟學(xué)編程
回復(fù)@小孟學(xué)編程
加在哪里,能否詳細(xì)的講一下?
看下下面的官方文檔,里面有解析規(guī)則,而且我說了其他頁面都生效,比如充值頁面:https://yinwumy.com/member.html?app=pay&c=recharge&m=index。
目前只能在rewrite.php里寫規(guī)則,然后在模板里寫死,不知道還有沒有更好的方法。
然后就是,關(guān)于router.php更詳細(xì)的幫助在哪里,自定義程序路由里只有兩段代碼,連注釋都沒幾句。
回復(fù)@如來 https://yinwumy.com/index.php?s=member
回復(fù)@如來
沒變化,這是完整代碼
<?php
// 自定義URL路由模式
if (strpos($uri, 'member.html?') === 0) {
$is_404 = 0;
$arr = parse_url($uri);
parse_str($arr['query'],$_GET);
$_GET['s'] = 'member';
}
if ($uri == 'member.html') {
$is_404 = 0;
$_GET['s'] = 'member';
$_GET['c'] = 'home';
$_GET['m'] = 'index';
}
回復(fù)@如來
這是/dayrui/My/Library/Router.php的完整代碼
<?php namespace My\Library;
class Router extends \Phpcmf\Library\Router
{
// 重寫會員路由
function member_url($url = '', $query = [], $self = SELF)
{
$url = parent::member_url($url, $query, $self );
return str_replace('index.php?s=member&', 'member.html?', $url);
}
// 重寫前端路由和后臺路由
function url($url = '', $query = [], $self = SELF)
{
$url = parent::url($url, $query, $self );
if (IS_ADMIN) {
// 表示后臺
return $url; // 返回默認(rèn)格式
} else {
// 表示前端
return $url; // 返回默認(rèn)格式
}
}
}