我刚刚将网站转换为新的实施方式。旧站点的URL以.html结尾;现在,我使用的是看起来像目录的“正常” WordPress方式。我如何重定向:
https://www.hhl.com/articlename.html?a=b
...to https://www.hhl.com/articlename/?a=b
答案 0 :(得分:0)
您的问题有点含糊,但我认为这大致就是您要寻找的内容:
RewriteEngine on
RewriteRule ^/?articlename\.html$ /articlename/ [R=301,QSA]
还有一个一般性说明:您应该始终喜欢将此类规则放置在http服务器主机配置中,而不要使用动态配置文件(“ .htaccess”)。这些动态配置文件增加了复杂性,通常是导致意外行为,难以调试的原因,并且确实降低了http服务器的速度。仅当您无法访问真正的http服务器主机配置(阅读:真正便宜的服务提供商)或坚持编写自己的规则的应用程序(这显然是安全的噩梦)时,才提供它们作为最后的选择。
更新: 在注释中,您解释了URL的“文章名称”部分是动态的,这在原始问题中未提及。这是考虑到这一点的更新版本:
RewriteEngine on
RewriteCond %{REQUEST_URL} !-f
RewriteRule ^/?([a-z0-9_-])\.html$ /$1/ [R=301,NC,QSA]