我想进行内部重定向
/ dev / spares /任何内容
是
/ dev / spares /?pid =任何内容
但是维护目录URL / dev / spares /任何前端。可以使用下面显示的.htaccess代码中的数字很好地工作。
/ dev / spares / 12345
但是,如果我使用任何文本
/ dev / spares / whatever123
它给出404。我认为这是Wordpress认为它是子页面,但我不知道该如何解决?我可以以某种方式例外吗?
这是我的.htaccess:
RewriteEngine on
RewriteBase /dev/
# My rewrite for internal query string
RewriteRule ^spares/([^/]+) spares/\?pid=$1 [NC]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /dev/index.php [L]
</IfModule>
# END WordPress
并且我在Wordpress中使用自定义的永久链接结构:
/%category%/%postname%/
谢谢。
答案 0 :(得分:0)
我在这里找到了解决方案: https://wordpress.stackexchange.com/questions/247573/rewriterule-accepts-numbers-but-not-letters-in-tag
使用Wordpress功能:
add_action( 'init', function(){
return add_rewrite_rule(
'spares/([^/]+)/?$',
'index.php?pagename=spares&pid=$matches[1]',
'top'
);
});
add_filter('query_vars', function($v){ return array_merge(array('pid'),$v); });