可以直接将.htaccess文件转换为nginx伪静态规则

本工具只提供Apache(.htaccess)转换为NGINX配置文件

https://www.toolfk.com/tool-convert-htaccess2nginx

.htaccess转nginx,
apache规则转nginx,
apache2nginx配置工具,
一键htaccess转Nginx配置文件

比如:

RewriteEngine On
RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

转换后是

rewrite ^/(.*)/$ /$1 permanent;
if (!-d $request_filename){
set $rule_1 1$rule_1;
}
if (!-f $request_filename){
set $rule_1 2$rule_1;
}
if ($rule_1 = "21"){
rewrite ^/ /index.php last;
}

 

 

RewriteEngine On
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]

转换后是

if ($args ~ "base64_encode[^(]*\([^)]*\)"){
set $rule_0 1;
return 403;
break;
}
if ($args ~* "(<|%3C)([^s]*s)+cript.*(>|%3E)"){
set $rule_0 1;
return 403;
break;
}
if ($args ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})"){
set $rule_0 1;
return 403;
break;
}
if ($args ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})"){
set $rule_0 1;
return 403;
break;
}

#ignored: "-" thing used or unknown variable in regex/rew
if ($uri !~ "^/index\.php"){
set $rule_2 1$rule_2;
}
if (!-f $request_filename){
set $rule_2 2$rule_2;
}
if (!-d $request_filename){
set $rule_2 3$rule_2;
}
if ($rule_2 = "321"){
rewrite /.* /index.php last;
}

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。