2017-12-21 8 views
1

最近私はWordpressサイトのメンテナーになりました(私は完全にwordpressです)。リダイレクトが指定されている場所を見つけることができません

.htaccessファイルを確認しましたが、そこに何も指定されていません。私が知る限り、書き換えルールは原因ではありません。

リダイレクト先のページを削除して再作成しようとしましたが、リダイレクトが引き続き発生します。

私の質問は次のとおりです。リダイレクトはどこで指定できますか?私はどこを見なければならないのかというアイディアを使い果たしました。あなたがワードプレスエブリー要求に知っているように、私のクライアントの

+2

何が問題なのですか?質問はあまり明確ではありません。 –

+0

通常のPHPと同様に、コードのどこにでもリダイレクトを指定することができます – JoshKisb

答えて

0

一つはキャッチがindex.phpのである

https://www.qsleap.com/gmat/resourcesのようなカスタムURLにしたいです。リクエストフィルタがリクエストをキャッチし、 ページを呼び出します。

このコードを読んだことがあります。

function permalinks_customizer_request_before($query){ 
$uri=$_SERVER['REQUEST_URI']; 
$match= preg_match('/(gmat|gre|sat|lsat|cat)(\/resources\/tags\/) 
(.*)\/(articles|videos|concept-notes|qna)/', $uri,$matches); 
//$match= 
preg_match('/(gmat|gre|sat|lsat|cat)/\resources/\tags/stanford- 
gsb/\articles|videos|concept-notes)/?$', $uri,$matches); 
if($match){ 

    $url = parse_url(get_bloginfo('url')); 
    $url = isset($url['path']) ? $url['path'] : ''; 
    $request = ltrim(substr($_SERVER['REQUEST_URI'], strlen($url)), '/'); 
    $request = (($pos = strpos($request, '?')) ? substr($request, 0, $pos) : $request); 
    if (! $request) 
     return $query; 
    $original_url="?page_name=tags&exam=".$matches[1]."&post_tag=".$matches[3]."&post_type=".$matches[4]; 
    if ($original_url !== null) { 
     $original_url = str_replace('//', '/', $original_url); 
     if (($pos = strpos($_SERVER['REQUEST_URI'], '?')) !== false) { 
      $queryVars = substr($_SERVER['REQUEST_URI'], $pos + 1); 
      $original_url .= (strpos($original_url, '?') === false ? '?' : '&') . $queryVars; 
     } 
     $oldRequestUri = $_SERVER['REQUEST_URI']; 
     $oldQueryString = $_SERVER['QUERY_STRING']; 

     $_SERVER['REQUEST_URI'] = '/' . ltrim($original_url, '/'); 
     $_SERVER['QUERY_STRING'] = (($pos = strpos($original_url, '?')) !== false ? substr($original_url, $pos + 1) : ''); 

     parse_str($_SERVER['QUERY_STRING'], $queryArray); 
     $oldValues = array(); 
     global $wp; 
     $wp->parse_request(); 
     $query = $wp->query_vars; 
     if (is_array($queryArray)) { 
       foreach ($queryArray as $key => $value) { 
         $oldValues[$key] = $_REQUEST[$key]; 
         $_REQUEST[$key] = $_GET[$key] = $value; 
         $query[$key]=$value; 
       } 
     } 
     $_SERVER['REQUEST_URI'] =''; 
     $_SERVER['QUERY_STRING']=''; 
    } 


} 
return $query; 
} 


add_filter('request','permalinks_customizer_request_before',0); 
function wp_url_rewrite_templates() { 
    if (get_query_var('page_name') && get_query_var('page_name' 
    )=='tags') { 
    add_filter('template_include', function() { 
     $template= dirname(__FILE__) . '/page-tags.php'; 
     return $template; 

    }); 
} 


    } 
    add_action('template_redirect', 'wp_url_rewrite_templates' ,4); 
+0

答えを説明する必要があります.... – GYaN

0

リダイレクトを削除する最も簡単な方法は、このプラグインを使用することです。あなたはそれをインストールし、それをアクティブにした後

https://redirection.me/

。 Wordpressの管理

から

ツール]> [リダイレクト

あなたが任意のリダイレクトのリストを表示し、追加/削除します。

関連する問題