繁体   English   中英

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

[英]How to convert this apache rewrite rule to nginx

我一直在努力将过去的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

我使用了这个转换工具https://labs.gidix.de/nginx/ ,它输出了这个转换结果:最后rewrite ^/?hosts/(.*)$ /user/$1 last; -但是,我尝试将其放在Ajenti的(控制面板)高级自定义配置中,但无法正常工作。

作为选择

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

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

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

有关更多信息,请参见此文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM