Wordpress htaccess重定向别名不工作

Wordpress htaccess重定向别名不工作,wordpress,apache,.htaccess,redirect,Wordpress,Apache,.htaccess,Redirect,我有以下格式的几个链接 我希望重定向到以下格式 我已将以下代码添加到htaccess文件中,但它不起作用,并发出404消息 RewriteRule ^ranges/([^/]+)/? ranges?param1=$1 完整htaccess文件如下所示 # BEGIN WordPress <IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine On RewriteBase /india Rewr

我有以下格式的几个链接

我希望重定向到以下格式

我已将以下代码添加到htaccess文件中,但它不起作用,并发出404消息

RewriteRule ^ranges/([^/]+)/? ranges?param1=$1
完整htaccess文件如下所示

# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /india
RewriteRule ^ranges/([^/]+)/? ranges?param1=$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /india/index.php [L]
</IfModule>

# END WordPress
#开始WordPress
选项+FollowSymLinks
重新启动发动机
基地/印度
重写规则^ranges/([^/]+)/?范围?参数1=1美元
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/印度/index.php[L]
#结束WordPress
为了澄清,我需要像这样工作

http://127.0.0.1/india/ranges/MyValue1/
>
http://127.0.0.1/india/ranges/?param1=MyValue1


关于如何使用htacces或任何其他方式实现这一点,有什么建议吗?

您需要使用
添加重写规则()
而不是编辑htaccess。我不想假设,但你没有提供任何细节;如果
ranges
是一个自定义的帖子类型(编辑:原来“ranges”是一个页面,答案是编辑过的),那么将其添加到function.php文件中:

function stack_45948362_rewrite() {
    add_rewrite_rule('^ranges/([^/]+)?$','index.php?pagename=ranges&query=$matches[1]','top' );
}
add_action( 'init', 'stack_45948362_rewrite', 10, 0);
然后添加'query'作为查询变量(尽管我会选择一个不太通用的名称以避免冲突)

确保通过进入设置>永久链接并单击“保存更改”刷新永久链接


你的404很可能是由“ranges?query=”引起的,因为Wordpress正在寻找一个实际的php页面来处理。

你能告诉我需要在哪个文件上添加那些代码编辑的我的答案编辑的我的答案这个问题更适合Wordpress堆栈,但是,Wordpress网站上已经有人问过了(跨网站帖子):最近的编辑(您批准的)与原始问题冲突。。。现在,问题第一部分的描述与最后的示例相冲突(相反)。您还允许删除“内部”一词。那么,你真的想要外部重定向吗?是的,我需要内部重定向
function stack_45948362_qvars($vars) {
    $vars[] = 'query';
    return $vars;
}
add_filter( 'query_vars', 'stack_45948362_qvars', 10, 1);