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);
- }