Discuz! X2 相对于 X15 来说,rewrite 做了一定的调整:
1. 后台位置变化:由 X15 的 「全局 → 优化设置」,调整为 X2 的 「全局 → SEO 设置」
2. 数量变化:由 X15 的 6 项针对性设置 + 1 项全站动态页面,调整为 X2 的 8 项针对设置性 如果希望对之前的已经收录的 rewrite 仍可以访问,可以做如下兼容:
1. 修改 rewrite 规则:有两种方法可以使用
1) 将 X2 后台提供的 rewrtie 规则放在 X15 的规则的前面即可,任何规则都可以不删除
2) 将下面地址中的 rewrite 规则放在 X15 的规则的前面
2. 修改文件:
找到:source/class/class_core.php 191 行附近
- function _init_input() {
- if (isset($_GET['GLOBALS']) ||isset($_POST['GLOBALS']) || isset($_COOKIE['GLOBALS']) || isset($_FILES['GLOBALS'])) {
- system_error('request_tainting');
- }
- if(!MAGIC_QUOTES_GPC) {
- $_GET = daddslashes($_GET);
- $_POST = daddslashes($_POST);
- $_COOKIE = daddslashes($_COOKIE);
- $_FILES = daddslashes($_FILES);
- }
修改为
- function _init_input() {
- if (isset($_GET['GLOBALS']) ||isset($_POST['GLOBALS']) || isset($_COOKIE['GLOBALS']) || isset($_FILES['GLOBALS'])) {
- system_error('request_tainting');
- }
- if(!empty($_GET['rewrite'])) {
- $query_string = '?mod=';
- $param = explode('-', $_GET['rewrite']);
- $query_string .= $_GET['mod'] = $param[0];
- array_shift($param);
- $paramc = count($param);
- for($i = 0;$i < $paramc;$i+=2) {
- $_REQUEST[$param[$i]] = $_GET[$param[$i]] = $param[$i + 1];
- $query_string .= '&'.$param[$i].'='.$param[$i + 1];
- }
- $_SERVER['QUERY_STRING'] = $query_string;
- unset($param, $paramc, $query_string);
- }
- if(!MAGIC_QUOTES_GPC) {
- $_GET = daddslashes($_GET);
- $_POST = daddslashes($_POST);
- $_COOKIE = daddslashes($_COOKIE);
- $_FILES = daddslashes($_FILES);
- }