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

时间:2017-04-01 22:04:20

标签: wordpress apache .htaccess mod-rewrite nginx

我一直在努力将过去的apache重写规则转换为nginx(也不确定我是否将它放在正确的位置,所以如果你能告诉我在哪里放置它会很感激。)< / p>

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

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule ^/?hosts/(.*)$ /user/$1 [R,L]
</IfModule>

如您所见,我正在使用此规则,以便从example.com/hosts/username重定向到example.com/user/username

我已使用此转换工具https://labs.gidix.de/nginx/并输出此转换:rewrite ^/?hosts/(.*)$ /user/$1 last; - 但我尝试将其置于Ajenti(控制面板)高级自定义配置中,但它&# 39;不工作。

2 个答案:

答案 0 :(得分:1)

作为选项

location ~ ^/hosts/(.*)$ {
    return 301 $scheme://$host/user/$1;
}

答案 1 :(得分:0)

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

location ^~ /hosts/ {
    rewrite ^/hosts(.*)$ /user$1 permanent;
}

有关详情,请参阅this document