我正在使用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也已开启。
那我怎么能解决这个问题?
答案 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);