Wordpress 如何将此apache重写规则转换为nginx

Wordpress 如何将此apache重写规则转换为nginx,wordpress,apache,.htaccess,mod-rewrite,nginx,Wordpress,Apache,.htaccess,Mod Rewrite,Nginx,我一直在努力将我过去的apache重写规则转换为nginx,也不确定是否将其放置在正确的位置,因此如果您能告诉我将其放置在何处,我将不胜感激 基本上这是Wordpress上我的.htaccess文件的apache重写规则: <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^/?hosts/(.*)$ /user/$1 [R,L] </IfModule> 如您所见,我使用此规则是为了从example.co

我一直在努力将我过去的apache重写规则转换为nginx,也不确定是否将其放置在正确的位置,因此如果您能告诉我将其放置在何处,我将不胜感激

基本上这是Wordpress上我的.htaccess文件的apache重写规则:

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule ^/?hosts/(.*)$ /user/$1 [R,L]
</IfModule>
如您所见,我使用此规则是为了从example.com/hosts/username重定向到example.com/user/username


我使用过这个转换工具,它输出这个转换:rewrite^/?hosts/*$/user/$1 last;-不过,我尝试将其放入Ajenti的控制面板高级自定义配置中,但它不起作用。

您可能需要将其设置为外部重定向,以便WordPress注意到。最干净的解决方案是将其放置在自己的位置:

location ^~ /hosts/ {
    rewrite ^/hosts(.*)$ /user$1 permanent;
}
有关更多信息,请参见。

作为选项

location ~ ^/hosts/(.*)$ {
    return 301 $scheme://$host/user/$1;
}
尝试以下操作::location/{rewrite^/?hosts/*$/user/$1 redirect;}