iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHPwind高级伪静态规则及教程
  • 965
分享到

PHPwind高级伪静态规则及教程

phpwind伪静态伪静态教程 2022-06-12 01:06:48 965人浏览 安东尼
摘要

写在前面的话. PW8 是个里程碑式的版本,有门户,有频道,等多元素多模式组成, stwind高度伪静态(超级伪静态)的处理方法仅仅适用于论坛部分. 并尽力避免与其他操作和地址产生冲突.在这个版本, 改变了几个变量,一个

写在前面的话. PW8 是个里程碑式的版本,有门户,有频道,等多元素多模式组成, stwind高度伪静态(超级伪静态)的处理方法仅仅适用于论坛部分. 并尽力避免与其他操作和地址产生冲突.在这个版本, 改变了几个变量,一个是列表页的变量,一个是过滤特殊字符的变量,  地址组成依然不变, 帖子也依然以 article 为前缀, 列表页以commtopics 链接.pw8里函数改动较大,所以修改也较为麻烦. 考虑到会被任意修改,以后版本考虑单个加密这个文件.  本次依然沿用以前的风格. 

一,打开require/common.PHP

找到

function urlRewrite($url) {

    global $db_htmifopen, $db_dir, $db_ext;

    if (!$db_htmifopen) return $url;

    $tmppos = strpos($url, '#');

    $add = $tmppos !== false ? substr($url, $tmppos) : '';

    $turl = str_replace(array('.php?', '=', '&', '&', $add), array($db_dir, '-', '-', '-', ''), $url);

    $turl != $url && $turl .= $db_ext;

    return $turl . $add;

}

替换成

function urlRewrite($url) {

    global $db_htmifopen, $db_dir, $db_ext;

    if(strpos($url, 'thread.php?') !== false){

         unset($URL_type);

         $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));

          foreach($Thread_array as $key => $value){

             $URL_array = explode('=', $value, 2);

              if($URL_array['1']){

               switch($URL_array['0']){

                case 'fid':

                    $URL_type['fid'] = $URL_array['1'];

                    $URL_type['type'] < 1 && $URL_type['type'] = 1;

                break;

                case 'page':

                    $URL_type['page'] = $URL_array['1'];

                    $URL_type['type'] < 2 && $URL_type['type'] = 2;

                break;

                default:

                    $URL_type['type'] = 4;

                break;

                }}}

         switch($URL_type['type']){

           case '1':

               $url = "commtopics-" . $URL_type['fid'] ; break;               

           case '2':

               $url = "commtopics-" . $URL_type['fid'] . "-" . $URL_type['page'] ;   break;

             }}elseif(strpos($url, 'read.php?') !== false){

                unset($URL_type);

             $tmppos = strpos($url, '#');

           $add = $tmppos !== false ? substr($url, $tmppos) : '';

              $Read_array = explode('&', substr(str_replace($add, '', $url), 9));

                foreach($Read_array as $key => $value){

                $URL_array = explode('=', $value, 2);

                if($URL_array['1']){

                    switch($URL_array['0']){

                        case 'tid':

                            $URL_type['tid'] = $URL_array['1'];

                            $URL_type['type'] < 1 && $URL_type['type'] = 1;

                            break;

                        case 'page':

                            $URL_type['page'] = $URL_array['1'];

                            $URL_type['type'] < 2 && $URL_type[type] = 2;

                            break;

                        case 'fpage':

                            $URL_type['fpage'] = $URL_array['1'];

                            $URL_type['type'] < 3 && $URL_type['type'] = 3;

                            break;

                        default:

                            $URL_type['type'] = 4;

                            break;

                        }}}

          switch($URL_type['type']){

             case '1':

                 $url = "article-".$URL_type['tid'].".html" ;

                 break;

             case '2':

                 $url = "article-".$URL_type['tid'] . "-" . $URL_type['page'].".html" ;

                 break;

             case '3':

                 $url = "article-". $URL_type['tid'] . "-" . $URL_type['page'] . "-" . $URL_type['fpage'].".html" ;

                 break;

                 }

             }

        //      $url .= $db_ext;  很多人以为后缀问题,故作特处理。

    return $url . $add;

}

规则如下.  添加到Httpd.ini或者.htaccess 或者其他

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteRule ^thread-htm-tid-(\d+)-(.*).html  thread.php?fid=$1

RewriteRule ^read-htm-tid-(\d+)-(.*).html  read.php?tid=$1

RewriteRule ^commtopics-(\d+)-(.*)  thread.php?fid=$1&page=$2

RewriteRule ^commtopics-(.*)       thread.php?fid=$1&page=$2

RewriteRule ^article-(\d+)-(\d+)-(.*).html  read.php?tid=$1&page=$2&fpage=$3

RewriteRule ^article-(\d+)-(\d+).html       read.php?tid=$1&page=$2

RewriteRule ^article-(.*).html             read.php?tid=$1

RewriteRule ^(.*)-htm-(.*).html    $1.php?$2

RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ $1/simple/index.php?$2

</IfModule>

--结束END--

本文标题: PHPwind高级伪静态规则及教程

本文链接: https://www.lsjlt.com/news/31700.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Typecho程序伪静态规则
    Typecho程序的伪静态规则不同于wp直接默认可用,需要我们手工加载到空间中才可以生效。下面老左整理了这款程序在不同的主机环境中的伪静态规则,希望对大家有所帮助 虽然老左博客是用的Wordpress程序,但是我不得不说wp程序即便是一款非...
    99+
    2023-06-05
  • wordpress伪静态规则有哪些
    在WordPress中,可以使用以下规则来实现伪静态:1. Apache服务器规则:如果你的网站运行在Apache服务器上,可以在....
    99+
    2023-08-15
    wordpress
  • vps伪静态规则有哪些
    VPS伪静态规则是一种将动态网页的URL转换为静态网页URL的技术,可以提高网站的访问速度和安全性。以下是一些常见的VPS伪静态规则...
    99+
    2023-09-08
    vps
  • nginx伪静态规则怎么定义
    这篇文章主要介绍了nginx伪静态规则怎么定义的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇nginx伪静态规则怎么定义文章都会有所收获,下面我们一起来看看吧。 1、ngin...
    99+
    2024-04-02
  • nginx伪静态规则如何配置
    要配置nginx的伪静态规则,可以在nginx的配置文件中使用location指令来实现。例如,如果你想要将所有以.html结尾的U...
    99+
    2023-08-15
    nginx
  • Apache中rewrite伪静态规则有哪些
    这篇文章主要为大家展示了“Apache中rewrite伪静态规则有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Apache中rewrite伪静态规则有哪些”这篇文章吧。Rewirte主要的...
    99+
    2023-06-13
  • Thinkphp路由定义伪静态规则的方法
    这篇文章主要介绍了Thinkphp路由定义伪静态规则的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Thinkphp路由定义伪静态规则的方法文章都会有所收获,下面我们一起来看看吧。Thinkphp 6.0路...
    99+
    2023-06-30
  • 云服务器如何设置伪静态规则
    首先,远程连接云服务器,进入服务器操作界面;在服务器操作界面,使用组合键“win+R”运行“inetmgr”,打开IIS管理器;在IIS管理器主页,检查是否有“URL 重写”模块,没有则可以在官网下载安装“url重写”插件;当安装好“URL...
    99+
    2024-04-02
  • 虚拟主机thinkphp伪静态规则怎么设置
    在使用虚拟主机时,如果想要设置ThinkPHP伪静态规则,可以按照以下步骤进行操作:1. 首先确认服务器环境是否支持伪静态规则。需要...
    99+
    2023-09-12
    thinkphp 虚拟主机
  • 提升网站安全性:伪静态规则实现php后缀隐藏
    提升网站安全性:伪静态规则实现PHP后缀隐藏 随着互联网的发展,网站安全性问题日益凸显,其中包括对恶意攻击的防范和用户数据的保护。一种有效的措施是通过伪静态规则来隐藏PHP后缀,这有助...
    99+
    2024-03-07
    php 安全性 伪静态
  • Discuz门户文章列表页伪静态设置教程
    要设置Discuz门户文章列表页伪静态,您可以按照以下步骤进行操作:1. 登录Discuz后台管理界面。2. 在左侧导航栏中找到“门...
    99+
    2023-09-17
    Discuz
  • 国内一些常用PHP的CMS的Nginx服务器的伪静态规则整理
    但很多网友还是不太了解Nginx服务器的伪静态规则的,而如果你安装的是一些常用的程序,如WordPress,PHPCMS,ECSHOP,SHOPEX,Discuz 7,那伪静态规则就...
    99+
    2022-11-21
    Nginx 伪静态
  • Apache中伪静态Rewrite的使用方法和URL重写规则表达式讲解
    目录一、安装rewrite模块二、配置文件httpd.conf中启用Rewrite三、在服务器中找到配置文件vhosts.conf,启用.htAccess四、在要启用伪静态的项目根目录下建立 .htaccess 文件五、...
    99+
    2022-11-20
    Apache 伪静态 Rewrite URL重写 Rewrite规则
  • 如何配置pbootcms模板的伪静态,教程分享给大家
    系列文章目录 pbootcms模板教程以及相关问题解决办法 第一章 如何配置pbootcms模板的伪静态 前言 很多人在使用pb的模板中会遇到各种各样的问题,现在博主给大家来解答这些问题。 一、如何配置pbootcms模板的伪静态?...
    99+
    2023-08-31
    php 服务器 nginx
  • mysql高级学习之索引的优劣势及规则使用
    一、索引的优劣势 优点:可以快速的检索  、可以加快分组和排序 缺点: 占用储存空间、降低数据表的修改操作 二、索引的分类 主键索引 ...
    99+
    2024-04-02
  • Vue高级用法实例教程之动态组件
    目录基础描述AST解析render函数普通组件和动态组件的对比工厂函数形式的动态组件总结动态组件我相信大部分在开发的过程中都会用到,当我们需要在不同的组件之间进行状态切换时,动态组件...
    99+
    2024-04-02
  • 正则表达式高级用法之分组的使用教程
    目录分组的使用场景分组的使用方法捕获组分组的使用实例javascript 获取分组内容java 获取分组内容小结补充:正则表达式分组及常见的方法总结分组的使用场景 在书写正则表达式时...
    99+
    2024-04-02
  • JavaScript程序设计高级算法之动态规划的示例分析
    这篇文章给大家分享的是有关JavaScript程序设计高级算法之动态规划的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体如下:其实像在我们前端的开发中,用到的高级算法...
    99+
    2024-04-02
  • Linux 重定向高级教程:如何利用 ASP 实现动态重定向?
    在 Linux 中,重定向是一个非常有用的功能,可以将命令的输出重定向到文件或其他命令中。但是,有时候我们需要更高级的重定向功能,比如动态重定向,这时候我们就需要借助 ASP。 ASP(Active Server Pages)是一种动态网...
    99+
    2023-10-28
    教程 linux 重定向
  • 低版本Docker升级高版本Docker的详细教程及成功避坑
    目录安装低版本Docker查看Docker版本宿主机创建挂载目录下载镜像并创建容器登录容器查看映射访问测试在升级前确定几个重点:1.原配置文件备份一下2.清楚知道Docker的存储目...
    99+
    2023-05-20
    docker版本更新 docker 升级 docker版本
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作