php程序正常搜索无问题,但是启用伪静态,搜索中文,就出现搜索乱码。rewrite.php文件代码如下
<?php
/** rewrite output */
function rewrite_output($content) {
$search = array(
"/href\=\"(\.*\/*)\?mod\=(index|category|update|archives|top|feedback|link|rssfeed|sitemap)?\"/e",
"/href\=\"(\.*\/*)\?mod\=directory([&amp;|&]cid\=(\d+))?([&amp;|&]page\=(\d+))?\"/e",
"/href\=\"(\.*\/*)\?mod\=update([&amp;|&]days\=(\d+))?([&amp;|&]page\=(\d+))?\"/e",
"/href\=\"(\.*\/*)\?mod\=archives([&amp;|&]date\=(\d+))?([&amp;|&]page\=(\d+))?\"/e",
"/href\=\"(\.*\/*)\?mod\=search([&amp;|&]type\=(.+?))?([&amp;|&]query\=(.+?))?([&amp;|&]page\=(\d+))?\"/e",
"/href\=\"(\.*\/*)\?mod\=siteinfo[&amp;|&]wid\=(\d+)\"/e",
"/href\=\"(\.*\/*)\?mod\=diypage[&amp;|&]pid\=(\d+)\"/e",
"/href\=\"(\.*\/*)\?mod\=rssfeed([&amp;|&]cid\=(\d+))?\"/e",
"/href\=\"(\.*\/*)\?mod\=sitemap([&amp;|&]cid\=(\d+))?\"/e",
);

$replace = array(
"rewrite_other('\\2')",
"rewrite_directory('\\3', '\\5')",
"rewrite_update('\\3', '\\5')",
"rewrite_archives('\\3', '\\5')",
"rewrite_search('\\3', '\\5', '\\7')",
"rewrite_siteinfo('\\2')",
"rewrite_diypage('\\2')",
"rewrite_rssfeed('\\3')",
"rewrite_sitemap('\\3')",
);

return preg_replace($search, $replace, $content);
}/** other */
function rewrite_other($mod) {
global $options;

if ($mod == 'index') {
$strurl = 'href="'.$options['site_root'].'"';
} else {
$strurl = 'href="'.$options['site_root'].$mod.'/"';
}

return $strurl;
}/** directory */
function rewrite_directory($cate_id, $page) {
return 'href="'.get_category_url($cate_id, $page).'"';
}/** update */
function rewrite_update($days, $page) {
return 'href="'.get_update_url($days, $page).'"';
}/** archives */
function rewrite_archives($date, $page) {
return 'href="'.get_archives_url($date, $page).'"';
}

/** search */
function rewrite_search($type = 'name', $query, $page) {
return 'href="'.get_search_url($type, $query, $page).'"';
}/** siteinfo */
function rewrite_siteinfo($web_id) {
return 'href="'.get_website_url($web_id).'"';
}/** diypage */
function rewrite_diypage($page_id) {
return 'href="'.get_diypage_url($page_id).'"';
}/** rssfeed */
function rewrite_rssfeed($cate_id) {
return 'href="'.get_rssfeed_url($cate_id).'"';
}/** sitemap */
function rewrite_sitemap($cate_id) {
return 'href="'.get_sitemap_url($cate_id).'"';
}
?>
siteurl.php文件代码如下
<?php
/** category */
function get_category_url($cate_id = 0, $page = 1) {
global $options;

if ($cate_id > 0) {
$cate = get_one_category($cate_id);
$cate_dir = !empty($cate['cate_dir']) ? $cate['cate_dir'] : 'category';
unset($cate);
$page = isset($page) && $page > 0 ? $page : 1;

if ($options['is_enabled_rewrite'] == 'yes') {
$strurl = $options['site_root'].$cate_dir.'/'.$cate_id.'-'.$page.$options['rewrite_suffix'];
} else {
$strurl = '?mod=directory&cid='.$cate_id;
}
} return $strurl;
}/** update */
function get_update_url($days, $page = 1) {
global $options;

$days = isset($days) && $days > 0 ? $days : 0;
$page = isset($page) && $page > 0 ? $page : 1;

if ($options['is_enabled_rewrite'] == 'yes') {
$strurl = $options['site_root'].'updays/'.$days.'-'.$page.$options['rewrite_suffix'];
} else {
$strurl = '?mod=update&days='.$days;
}

return $strurl;
}/** archives */
function get_archives_url($date, $page = 1) {
global $options;

$date = isset($date) && strlen($date) == 6 ? $date : 0;
$page = isset($page) && $page > 0 ? $page : 1;

if ($options['is_enabled_rewrite'] == 'yes') {
$strurl = $options['site_root'].'filing/'.$date.'-'.$page.$options['rewrite_suffix'];
} else {
$strurl = '?mod=archives&date='.$date;
}

return $strurl;
}/** search */
function get_search_url($type = 'name', $query, $page = 1) {
global $options; $query = isset($query) && !empty($query) ? urlencode($query) : '';
$page = isset($page) && $page > 0 ? $page : 1;

if ($options['is_enabled_rewrite'] == 'yes') {
$strurl = '?mod=search&type='.$type.'&query='.$query;

} else {
$strurl = $options['site_root'].'search/'.$type.'/'.$query.'-'.$page.$options['rewrite_suffix'];
}

return $strurl;
}/** website */
function get_website_url($web_id, $abs_path = false) {
global $options;

if ($abs_path) {
$url_prefix = $options['site_url'];
} else {
$url_prefix = $options['site_root'];
}

if ($options['is_enabled_rewrite'] == 'yes') {
$strurl = $url_prefix.'info/'.$web_id.$options['rewrite_suffix'];
} else {
$strurl = $url_prefix.'?mod=siteinfo&wid='.$web_id;
}

return $strurl;
}/** diypage */
function get_diypage_url($page_id) {
global $options;

if ($options['is_enabled_rewrite'] == 'yes') {
$strurl = $options['site_root'].'page/'.$page_id.$options['rewrite_suffix'];
} else {
$strurl = '?mod=diypage&pid='.$page_id;
}

return $strurl;
}/** rssfeed */
function get_rssfeed_url($cate_id) {
global $options;

if ($options['is_enabled_rewrite'] == 'yes') {
if ($cate_id > 0) {
$strurl = $options['site_root'].'rssfeed/'.$cate_id.$options['rewrite_suffix'];
} else {
$strurl = $options['site_root'].'rssfeed/';
}
} else {
if ($cate_id > 0) {
$strurl = '?mod=rssfeed&cid='.$cate_id;
} else {
$strurl = '?mod=rssfeed';
}
}

return $strurl;
}/** sitemap */
function get_sitemap_url($cate_id) {
global $options;

if ($options['is_enabled_rewrite'] == 'yes') {
if ($cate_id > 0) {
$strurl = $options['site_root'].'sitemap/'.$cate_id.$options['rewrite_suffix'];
} else {
$strurl = $options['site_root'].'sitemap/';
}
} else {
if ($cate_id > 0) {
$strurl = '?mod=sitemap&cid='.$cate_id;
} else {
$strurl = '?mod=sitemap';
}
}

return $strurl;
}/** thumbs */
function get_webthumb($web_url) {
return 'http://open.thumbshots.org/image.pxf?url='.$web_url;
}
?>
.htaccess 代码如下
# 将 RewriteEngine 模式打开
RewriteEngine OnErrorDocument 404 /404/ # 修改以下语句中的 /bbs 为你的论坛目录地址,如果论坛程序放在根目录中,请将 /bbs 修改为 /
RewriteBase /
# Rewrite 系统规则请勿修改
RewriteRule ^(index|category|update|archives|top|feedback|link|rssfeed|sitemap)(\/?)$ index.php\?mod=$1RewriteRule ^updays\/([0-9]+)\.html$ index.php\?mod=update&days=$1
RewriteRule ^updays\/([0-9]+)-([0-9]+)\.html$ index.php\?mod=update&days=$1&page=$2RewriteRule ^filing\/([0-9]+)\.html$ index.php\?mod=archives&date=$1
RewriteRule ^filing\/([0-9]+)-([0-9]+)\.html$ index.php\?mod=archives&date=$1&page=$2RewriteRule ^search\/(name|url|tags|intro)\/(.+)-([0-9]+)\.html$ index.php\?mod=search&type=$1&query=$2&page=$3 [L]RewriteRule ^search\/(name|url|tags|intro)\/(.+)\.html$ index.php\?mod=search&type=$1&query=$2 [L]RewriteRule ^info\/([0-9]+)\.html$ index.php?mod=siteinfo&wid=$1RewriteRule ^page\/([0-9]+)\.html$ index.php\?mod=diypage&pid=$1
RewriteRule ^rssfeed\/([0-9]+)\.html$ index.php\?mod=rssfeed&cid=$1RewriteRule ^sitemap\/([0-9]+)\.html$ index.php\?mod=sitemap&cid=$1RewriteRule ^(\w+)\/([0-9]+)\.html$ index.php\?mod=directory&cid=$2
RewriteRule ^(\w+)\/([0-9]+)-([0-9]+)\.html$ index.php\?mod=directory&cid=$2&page=$3