我知道.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.