导航
系统开发首页
使用手册
插件手册
米拓商城
模板制作
应用开发
系统开发
http://doc.metinfo.cn/dev/
1
系统开发首页
第四章 系统功能
4.3.伪静态
更新时间:2020-01-21 11:09:54
作者:米拓建站
系统的伪静态配置在系统后台 SEO设置->伪静态 中开启。当开启啊系统伪静态配置后,会根据当前服务器类型在网站根目录创建相应的重写文件`.htaccess`或者`web.config`。前台链接根据伪静态规则生成新的访问链接。栏目链接处理在(`column_handle.class`|`url_pseudo()`),列表页链接处理在(`column_news.class`|`get_page_url()`),闲情页链接处理在(`column_handle`|`get_content_url()`)。 以为Nginx的重写规则为例 1. 匹配多语言首页url `rewrite ^/index-([a-zA-Z0-9_^x00-xff]+).html$ /index.php?lang=$1&pseudo_jump=1;` 2. 匹配富文本静态页加载地址 `rewrite ^/app/static/modules/ueditor/([a-zA-Z0-9_^\x00-\xff]+).html$ /app/static/modules/ueditor/$1.html last;` 3. 匹配富文本静态页加载地址 `rewrite ^/app/app/ueditor/([a-zA-Z0-9_^\x00-\xff]+).html$ /app/app/ueditor/$1.html last;` 4. 匹配H5页面静态页面地址 `rewrite ^/wap/([a-zA-Z0-9_^\x00-\xff]+).html$ /wap/$1.html last;` 5.匹配默认语言列表页url `rewrite ^/([a-zA-Z0-9_^x00-xff]+)/list-([a-zA-Z0-9_^x00-xff]+).html$ /$1/index.php?metid=$2&list=1&pseudo_jump=1;` 5. 匹配默认语言列表页分页url `rewrite ^/([a-zA-Z0-9_^x00-xff]+)/list-([a-zA-Z0-9_^x00-xff]+)-([0-9_]+).html$ /$1/index.php?metid=$2&list=1&page=$3&pseudo_jump=1;` 6. 匹配多语言列表页url `rewrite ^/([a-zA-Z0-9_^x00-xff]+)/list-([a-zA-Z0-9_^x00-xff]+)-([a-zA-Z0-9_^x00-xff]+).html$ /$1/index.php?lang=$3&metid=$2&list=1&pseudo_jump=1;` 7. 匹配多语言列表页分页url `rewrite ^/([a-zA-Z0-9_^x00-xff]+)/list-([a-zA-Z0-9_^x00-xff]+)-([0-9_]+)-([a-zA-Z0-9_^x00-xff]+).html$ /$1/index.php?lang=$4&metid=$2&list=1&page=$3&pseudo_jump=1;` 9.匹配默认语言标识的内容详情页url `rewrite ^/([a-zA-Z0-9_^x00-xff]+)/([a-zA-Z0-9_^\x00-\xff]+).html$ /$1/index.php?metid=$2&pseudo_jump=1;` 8. 匹配多语言内容详情页url `rewrite ^/([a-zA-Z0-9_^x00-xff]+)/([a-zA-Z0-9_^\x00-\xff]+)-([a-zA-Z0-9_^x00-xff]+).html$ /$1/index.php?lang=$3&metid=$2&pseudo_jump=1;` 11.匹配搜索列表页url `rewrite ^/search/tag/([a-zA-Z0-9_^\x00-\xff]+)-([a-zA-Z]+)-([0-9]+)$ /search/search.php?class1=&class2=&class3=&search=tag&searchword=$1&lang=$2&page=$3;` `rewrite ^/search/tag/([a-zA-Z0-9_^\x00-\xff]+)-([a-zA-Z]+)$ /search/search.php?class1=&class2=&class3=&search=tag&searchword=$1&lang=$2;` `rewrite ^/search/tag/([a-zA-Z0-9_^\x00-\xff]+)-([0-9]+)$ /search/search.php?class1=&class2=&class3=&search=tag&searchword=$1&page=$2;` `rewrite ^/search/tag/([a-zA-Z0-9_^\x00-\xff]+)$ /search/search.php?class1=&class2=&class3=&search=tag&searchword=$1;` 12.匹配聚合标签url `rewrite ^/([a-zA-Z0-9]+)/tag/([a-zA-Z0-9_^\x00-\xff]+)-([a-zA-Z]+)-([0-9]+)$ /$1/index.php?search=tag&content=$2&lang=$3&page=$4;` `rewrite ^/([a-zA-Z0-9]+)/tag/([a-zA-Z0-9_^\x00-\xff]+)-([a-zA-Z]+)$ /$1/index.php?search=tag&content=$2&lang=$3;` `rewrite ^/([a-zA-Z0-9]+)/tag/([a-zA-Z0-9_^\x00-\xff]+)-([0-9]+)$ /$1/index.php?search=tag&content=$2&page=$3;` `rewrite ^/([a-zA-Z0-9]+)/tag/([a-zA-Z0-9_^\x00-\xff]+)$ /$1/index.php?search=tag&content=$2;` 前台通过伪静态链接地址访问命中重写规则后,则会在提交的url参数中添加伪静态参数`pseudo_jump`,列表页会添加列表页参数`list`,列表页和详情页会添加参数`metid`,`metid`可以是栏目或者内容的id,页可以是栏目或则内容设置的静态页名称。进入模块前台控制器后会先根据`list`参数判断访问页面是列表页还是详情页(`web.class.php|listpage($module)`); 若判断访问页面是列表页,则会通过`metid`获取栏目访问的栏目信息,判断`metid`参数的值是否为数字类型,是数字类型该参数则为访问栏目的ID值,不是数值类型该参数则是栏目的静态页面名称,使用静态页名称找到对应的的栏目和栏目ID(`column_label.class`|`get_column_by_filename()`)。通过栏目ID获取完整的栏目信息并获添加到`$this->input`中生成模板变量`$data`。 若判断访问页面是内容详情页,进入详情页内容处理方法(`web.class.php|showpage($module)`);通过`metid`获取内容详细信息,判断`metid`参数的值是否为数字类型,是数字类型该参数则为内容的ID值,不是数值类型该参数则是内容的静态页面名称,使用静态页名称找到对应的的内容详情和内容ID(`base_database.class`|`get_list_by_filename()`)。通过栏目ID获取完整的内容信息并获添加到`$this->input`生成模板变量`$data`。
上一篇
: 4.2.站内锚文本
下一篇
: 4.4.静态