广

Discuz教程

  • 帝国cms教程
  • 织梦CMS教程
  • PHP CMS教程
  • ECSHOP教程
  • WordPress教程
  • Discuz教程
  • CMS学习

    discuz对rewrite调整后兼容X15的rewrite的办法

    2018-04-02 20:46:08 次阅读 稿源:互联网
    广告
    Discuz! X2 相对于 X15 来说,rewrite 做了一定的调整:
    1. 后台位置变化:由 X15 的“全局 → 优化设置”,调整为 X2 的“全局 → seo设置”
    2. 数量变化:由 X15 的 6 项针对性设置 + 1 项全站动态页面,调整为 X2 的 8 项针对设置性
      http://www.moke8.com/article-1394-1.html
    如果希望对之前的已经收录的rewrite仍可以访问,可以做如下兼容:

    1. 修改 rewrite 规则:有两种方法可以使用
        1) 将 X2 后台提供的 rewrtie 规则放在 X15 的规则的前面即可,任何规则都可以不删除
        2) 将下面地址中的 rewrite 规则放在 X15 的规则的前面
           
    2. 修改文件:
    找到:source/class/class_core.php 191行附近
    1. function _init_input() {
    2.         if (isset($_GET['GLOBALS']) ||isset($_POST['GLOBALS']) ||  isset($_COOKIE['GLOBALS']) || isset($_FILES['GLOBALS'])) {
    3.                 system_error('request_tainting');
    4.         }

    5.         if(!MAGIC_QUOTES_GPC) {
    6.                 $_GET = daddslashes($_GET);
    7.                 $_POST = daddslashes($_POST);
    8.                 $_COOKIE = daddslashes($_COOKIE);
    9.                 $_FILES = daddslashes($_FILES);
    10.         }
    修改为
    1. function _init_input() {
    2.         if (isset($_GET['GLOBALS']) ||isset($_POST['GLOBALS']) ||  isset($_COOKIE['GLOBALS']) || isset($_FILES['GLOBALS'])) {
    3.                 system_error('request_tainting');
    4.         }

    5.         if(!empty($_GET['rewrite'])) {
    6.                 $query_string = '?mod=';
    7.                 $param = explode('-', $_GET['rewrite']);
    8.                 $query_string .= $_GET['mod'] = $param[0];
    9.                 array_shift($param);
    10.                 $paramc = count($param);
    11.                 for($i = 0;$i < $paramc;$i+=2) {
    12.                         $_REQUEST[$param[$i]] = $_GET[$param[$i]] = $param[$i + 1];
    13.                         $query_string .= '&'.$param[$i].'='.$param[$i + 1];
    14.                 }
    15.                 $_SERVER['QUERY_STRING'] = $query_string;
    16.                 unset($param, $paramc, $query_string);
    17.         }

    18.         if(!MAGIC_QUOTES_GPC) {
    19.                 $_GET = daddslashes($_GET);
    20.                 $_POST = daddslashes($_POST);
    21.                 $_COOKIE = daddslashes($_COOKIE);
    22.                 $_FILES = daddslashes($_FILES);
    23.         }

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告