我有以下格式的一些链接
我想重定向到以下格式
我已将以下代码添加到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
为了澄清,我需要重定向才能像这样工作;
http://127.0.0.1/india/ranges/MyValue1/
&gt; http://127.0.0.1/india/ranges/?param1=MyValue1
有关如何使用htacces或其他任何方式实现此目的的任何建议?
答案 0 :(得分:1)
您希望使用add_rewrite_rule()
而不是编辑您的htaccess。我讨厌假设,但你没有提供任何细节;如果ranges
是自定义帖子类型(编辑:结果&#39;范围&#39;是一个页面,请回答编辑),然后将其添加到您的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);
然后添加&#39;查询&#39;作为查询var(尽管我选择一个不那么通用的名称来避免碰撞)。
function stack_45948362_qvars($vars) {
$vars[] = 'query';
return $vars;
}
add_filter( 'query_vars', 'stack_45948362_qvars', 10, 1);
请务必转到设置&gt;以清除固定链接。永久链接并点击“保存更改&#39;。
”很可能你的404是由&#34;范围引起的?query =&#34;,因为Wordpress正在寻找一个真正的php页面来处理。