WordPress URL – 需要删除GET参数

我知道.htaccess URL重写有很多线程,但我的情况似乎有点不同,我已经尝试了很多,但它不起作用.

我目前的网址:http://example.com/forest/trees/?type = perrennial

我需要的是:http://example.com/forest/trees/perennial

我只需要从URL中删除?type =.

编辑:URL可能包含连字符 – 在任何点之间的字符串之间(除了域名之外).它也可以是茂密的森林或非常年的.

这是一个自定义代码和插件,因此无法修改它.我只需要美化URL.

任何帮助将不胜感激.

到目前为止我在.htaccess中尝试过的事情:

RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ /forest\/trees\/\?type=([^&]+)
RewriteRule ^ \/forest\/trees\/%2\/? [L,R=301]

RewriteRule ^\/forest\/trees\/([^/]*)?  /forest/trees/?type=$1 [L]

我目前的Wordpress .htaccess是:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$- [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

提前致谢. 🙂
干杯!

最佳答案 您可以使用此.htaccess文件:

# BEGIN WordPress
RewriteEngine On
RewriteBase /

RewriteRule ^forest/trees/([^/]+)$/forest/trees/?type=$1

RewriteRule ^index\.php$- [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

现在,像http://example.com/forest/trees/perennial这样的网址会在内部重定向到/ forest / trees /?type = perennial,然后再转发到Wordpress Dispatcher /index.php.

点赞