J5偽靜態(tài)
Public/news/.rewrite的地址重寫配置:
<?php
return [
[
'file' => 'index.php',
'params' => ['type' => 'list'],
'query' => ['category'],
'pattern' => '/^list-([0-9]+).html$/',
],
[
'file' => 'index.php',
'params' => ['type' => 'list'],
'query' => ['category', 'page'],
'pattern' => '/^list-([0-9]+)-([0-9]+).html$/',
],
[
'file' => 'index.php',
'params' => ['type' => 'detail'],
'query' => ['id'],
'pattern' => '/^detail-([a-z0-9-]+).html$/',
],
];
上述代碼中,我們可以看到文件內容其實是一個php文件并返回了一個數(shù)組,共有三條地址重寫規(guī)則:
第一條匹配/news/list-數(shù)字.html這種形式的地址,其中匹配到的內容定義為category的參數(shù)值,合并params的預設參數(shù)值,一并在index.php文件中解析。
第二條匹配/news/list-數(shù)字-數(shù)字.html這種形式的地址,其中匹配到的第一個內容定義為category的參數(shù)值,第二個內容定義為page的參數(shù)值,合并params的預設參數(shù)值,一并在index.php文件中解析。
第三條匹配/news/detail-字母或數(shù)字.html這種形式的地址,其中匹配到的內容定義為slug的參數(shù)值,合并params的預設參數(shù)值,一并在index.php文件中解析。
所有模板鏈接都要修改。包括列表頁、內容頁、調用模板、分頁JS文件等。
?type=list&category={$id}替換為list-{$id}.html
?type=detail&id={$id}替換為detail-{$id}.html
內容頁也可以替換成?type=detail&id={$id}替換為{$id}.html
上面的'pattern' => '/^detail-([a-z0-9-]+).html$/',
要改成'pattern' => '/^([a-z0-9-]+).html$/',
搜索鏈接偽靜態(tài)
/Public/search/common/diplomat/index.php文件17行:
return $this -> getParam('full_host') . '/' . $item -> un_name . '/?type=detail&id=' . urlencode($item -> id);
替換為
return $this -> getParam('full_host') . '/' . $item -> un_name . '/' . urlencode($item -> id). '.html';