Wordpress URL - 需要删除GET参数

时间:2016-02-08 09:52:58

标签: wordpress .htaccess mod-rewrite

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

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

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

我只需要从网址中删除?type=

编辑:网址可能在任何一点的字符串之间包含连字符-(除了域名之外)。它也可以是dense-forestnon-perennial

它是自定义代码和插件,因此无法对其进行修改。我只需要美化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

提前致谢。 :) 干杯!

1 个答案:

答案 0 :(得分:1)

您可以使用此.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