Wordpress网址无效

时间:2017-04-25 13:22:20

标签: php wordpress .htaccess mod-rewrite url-rewriting

我正在使用wordpress,我有一些网址问题。

我当前的网址是服务器上的IP地址:http://www.192.10.1.22/states/?q=ohio

我想要网址:http://www.192.10.1.22/states/ohio

  

我在functions.php文件中使用了以下代码,它在我的工作中   本地,但当我上传cpanel然后它现在工作给我错误   页面未找到。

function custom_rewrite_rule() {
      add_rewrite_rule(        
            'states/([^/]*)/?',        
            'index.php/states/?q=$1',        
            'top' );
    }

    add_action('init', 'custom_rewrite_rule', 10, 0);

我也使用下面的代码。

add_rewrite_tag('%states%', '([^&]+)');
global $wp;
    $wp->add_query_var( 'q' );
    add_rewrite_rule(
        'states/(\d*)$',
        'index.php/states?q=$matches[1]',
        'top'
    );

我也更新永久链接,并且apache mode_rewrite也已开启。

那我怎么能解决这个问题?

2 个答案:

答案 0 :(得分:1)

  

请使用以下代码。

     

首先声明查询var

function custom_rewrite_rule() {
global $wp;
$wp->add_query_var( 'q' );
    add_rewrite_rule(
        'states/(/([^/]+))?(/([^/]+))?/?',
        'index.php?pagename=states&q=$1',
        'top'
    );
}

add_action('init', 'custom_rewrite_rule', 10, 0);

答案 1 :(得分:0)

您可以直接在服务器上的.htaccess文件中添加规则。

    function custom_rewrite_rule() {
    add_rewrite_rule('^states/([^/]*)/([^/]*)/?','index.php?q=$matches[1]','top');
    }
    add_action('init', 'custom_rewrite_rule', 10, 0);