可以直接将.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;
}
评论(0)